public class IntegerTest {
public static void main(String[] args) {
objPoolTest();
}
public static void objPoolTest() {
Integer i1 = 40;
Integer i2 = 40;
Integer i3 = 0;
Integer i4 = new Integer(40);
Integer i5 = new Integer(40);
Integer i6 = new Integer(0);
System.out.println("i1=i2\t" + (i1 == i2));
System.out.println("i1=i2+i3\t" + (i1 == i2 + i3));
System.out.println("i4=i5\t" + (i4 == i5));
System.out.println("i4=i5+i6\t" + (i4 == i5 + i6));
System.out.println();
}
}
输出结果如下:
i1=i2 true
i1=i2+i3 true
i4=i5 false
i4=i5+i6 true
可是我看到i4=i5+i6的时候,为什么输出的结果是true呢?不是false,而i4=i5又为false,太不解了...知道的朋友帮忙解决一下。 |