当前位置: 代码迷 >> Java相关 >> 关于自动装箱和拆箱的有关问题
  详细解决方案

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

热度:5652   发布时间:2013-02-25 21:42:03.0
关于自动装箱和拆箱的问题
下面运行出来的结果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, 为啥捏
楼主看下这个文章吧
http://blog.csdn.net/shw2004/article/details/5678703。。。。。。好多误人子弟的回复啊。
这个问题和装箱拆箱无关,

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

你强制new对象,不从常量池取数字,就能看到false了,比如把头两句改成下面:
        Integer c=new Integer(3);
        Integer d=new Integer(3);
  相关解决方案