可能重复:
Using == operator in Java to compare wrapper objects原始包装比较
Java版本1.6.0_26
从一本书为SCJP考试准备:
为了节省内存,下面两个[从-128和127开始的短整型以及其他一些对于问题无关紧要的]包装对象(通过boixng创建)将始终为==,值是相同的。
我所做的:
如果我们将从-128比较两个整数127这样的:
1. Integer i1 = 10;
2. Integer i2 = 10;
3. System.out.println(i1 == i2); // true
但为什么同样给了我们“假”,也可以是不同样的事情:
4. Integer i3 = new Integer(10);
5. Integer i4 = new Integer(10);
6. System.out.println(i3 == i4); // false
我的问题:
1)在第一行代码中,我们做了隐式装箱吗?
2)为什么第3行和第6行代码给了我们不同的结果?
你'对了!这是重复的。 – user485553