日期:2014-05-20  浏览次数:20660 次

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