【发布时间】:2015-02-17 00:45:58
【问题描述】:
我写了简单的代码:
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
你们能解释一下为什么会出现这种差异吗?
【问题讨论】:
-
Change Integer -> int,所以结果是一样的。
-
也可以使用
i3.equals(i4)代替i3 == i4。 -
简单,你不用==比较对象
标签: java