我写了一个简单的代码:
public static void main(String[] args) {
Integer i1 = 127;
Integer i2 = 127;
boolean flag1 = i1 == i2;
System.out.println(flag1);
Integer i3 = 128;
Integer i4 = 128;
boolean flag2 = i3 == i4;
System.out.println(flag2);
}
但是,奇怪的是,结果如下:
true
false
你们能否解释一下为什么会出现这种差异?
i3 == i4
的位置上使用i3.equals(i4)
。 - davmac