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

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

2013-02-19 
关于自动装箱和拆箱的问题下面运行出来的结果true,falseInteger c3Integer d3Integer e321Integer f

关于自动装箱和拆箱的问题
下面运行出来的结果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

热点排行