黑马程序员技术交流社区
标题:
关于Map集合中get方法返回值操作的问题?
[打印本页]
作者:
shdosh
时间:
2015-8-25 22:02
标题:
关于Map集合中get方法返回值操作的问题?
我一个程序Map<Character,Integer>集合,如下代码
char[] arr = str.toCharArray();
TreeMap<Character,Integer> numMap = new TreeMap<Character,Integer>();
for(int i =0; i<arr.length; i++){
if(!((arr[i]>='a'&& arr[i]<='z')||(arr[i]>='A' && arr[i]<='Z')))
continue;
if(numMap.get(arr[i])==null)
numMap.put(arr[i],1);
else{
Integer value = numMap.get(arr[i])++;
value++;
numMap.put(arr[i],value);
}
}
复制代码
Integer value = numMap.get(arr
)++;这一句会报错
但是这两句没问题:
int j = 6;
Integer i = j++;
i++;
出错那一句返回的也是Integer的变量,为什么不能那么操作那?
作者:
lion_good
时间:
2015-8-26 00:17
numMap.get(arr)返回的是右值,只有左值才能自增
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2