黑马程序员技术交流社区
标题:
关于Integer的小问题。
[打印本页]
作者:
李哲
时间:
2012-3-20 11:03
标题:
关于Integer的小问题。
for (int x=0;x<chs.length ;x++ )
{
int count=0;
if(!(chs[x]>='a'&&chs[x]<='z'||chs[x]>='A'&&chs[x]<='Z'))
continue;
Integer value=tm.get(chs[x]);//value是一个对象?把值赋给一个对象?
if (value!=null)
count=value;
count++;
tm.put(chs[x],count);
}
其中
Integer value=tm.get(chs[x]);//value是一个对象?把值赋给一个对象?
的详细转化是怎样的呢?
作者:
李哲
时间:
2012-3-20 11:07
哦。不好意思。我现在明白了。tm是一个map集合,那么tm.get(chs[x]);的值也是一个对象,对象赋给对象,挺合适的。我看错了。
作者:
贠(yun)靖
时间:
2012-3-20 17:02
就算是复制 int类型的数据 也是没有错误,这涉及到了自动拆箱的问题 感觉你对这没掌握,这是前两天我回答别人的 你看看吧
Integer a = 1; 自动装箱 是 Integer a =new Integer(1); 这就是自动装箱
而Integer a = 1; 是1.5的新特性,a是一个引用。右边的1其实应该看做是一个对象
a = a+1 先把a自动拆箱 Integer.valueOf(a); 通过Integer类调用它自身的静态方法valueOf()
把a引用换成a变量 也就是自动拆箱 然后int型a和1相加的和 在通过上面的
自动装箱最后把对象的地址赋给等号左边的a引用
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2