读书人

关于自动装箱和拆箱的有关问题

发布时间: 2013-02-19 11:11:40 作者: rapoo

关于自动装箱和拆箱的问题
下面运行出来的结果true,false
Integer c=3;
Integer d=3;
Integer e=321;
Integer f=321;
System.out.println(c==d);
System.out.println(e==f);
经过试验发现,当小于等于127时,为true,反之,为false, 为啥捏
[解决办法]
。。。。。。好多误人子弟的回复啊。
这个问题和装箱拆箱无关,

为了效率JAVA把-127到127的int数字放在常量池里,
所以才有LZ你说的现象。

你强制new对象,不从常量池取数字,就能看到false了,比如把头两句改成下面:

        Integer c=new Integer(3);
Integer d=new Integer(3);

[解决办法]
楼主看下这个文章吧
http://blog.csdn.net/shw2004/article/details/5678703

读书人网 >Java相关

热点推荐