Integer integer = 100;
Integer integer = new Integer(100);
这两句是不是没有区别?
如果有,有什么区别?

解决方案 »

  1.   

    估计是有一点区别的,我写了一个测试的类: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;
    }