首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于Integer类跟Map的疑问

2013-12-04 
关于Integer类和Map的疑问HashMapInteger, Integer hm new HashMapInteger, Integer()Integer r

关于Integer类和Map的疑问


HashMap<Integer, Integer> hm = new HashMap<Integer, Integer>();
Integer r = new Integer((int)(Math.random() * 20));
if( hm.containsKey(r) ){
//hm.get(r) ++;编译器报错
Integer kk = hm.get(r);
kk ++;//能通过编译
}


通过hm.get(r)取出来的应该是一个Integer类,直接在hm.get(r)的基础上++,编译器报错,但是如果重新赋值给kk后,再把kk ++,就能通过编译,这是为啥呢?
[解决办法]
hm.get(r)++这个意思是:

hm.get(r)=hm.get(r)+1;
你认为上面成立吗?
[解决办法]
一个为声明的变量可以直接进行++操作?
hm.get(r)只是一个值,连声明都没有,如何编译通过?

热点排行