A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我一个程序Map<Character,Integer>集合,如下代码
  1.                 char[] arr = str.toCharArray();

  2.                 TreeMap<Character,Integer> numMap = new TreeMap<Character,Integer>();
  3.                
  4.                 for(int i =0; i<arr.length; i++){
  5.                         if(!((arr[i]>='a'&& arr[i]<='z')||(arr[i]>='A' && arr[i]<='Z')))
  6.                                 continue;
  7.                         if(numMap.get(arr[i])==null)
  8.                                 numMap.put(arr[i],1);
  9.                         else{
  10.                                 Integer value = numMap.get(arr[i])++;
  11.                                 value++;
  12.                                 numMap.put(arr[i],value);
  13.                         }
  14.                                
  15.                        
  16.                 }
复制代码


Integer value = numMap.get(arr)++;这一句会报错
但是这两句没问题:
                int j = 6;
                Integer i = j++;
                i++;
出错那一句返回的也是Integer的变量,为什么不能那么操作那?

1 个回复

倒序浏览
numMap.get(arr)返回的是右值,只有左值才能自增
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马