读书人

有关J2SE 5.0以后提供的自动装箱和拆箱

发布时间: 2012-01-29 21:39:32 作者: rapoo

有关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;
}

读书人网 >J2SE开发

热点推荐