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

有关J2SE 5.0以后提供的自动装箱和拆箱。
Integer   integer   =   100;
Integer   integer   =   new   Integer(100);
这两句是不是没有区别?
如果有,有什么区别?

------解决方案--------------------
没区别,你想怎么用都行。
------解决方案--------------------
估计是有一点区别的,我写了一个测试的类:

public class TestBox {
Integer a1 = 100;
Integer a2 = new Integer(100);

public void test() {
Integer b1 = 100;
Integer b2 = new Integer(100);
}

}


编译成 TestBox.class 以后,用 DJ Java Decompiler 反编译以后,得到如下的结果:

public class TestBox
{

public TestBox()
{
a1 = Integer.valueOf(100);
a2 = new Integer(100);
}

public void test()
{
Integer b1 = Integer.valueOf(100);
Integer b2 = new Integer(100);
}

Integer a1;
Integer a2;
}