【发布时间】:2010-10-02 04:15:40
【问题描述】:
public class WrapperTest {
public static void main(String[] args) {
Integer i = 100;
Integer j = 100;
if(i == j)
System.out.println("same");
else
System.out.println("not same");
}
}
上面的代码在运行时给出了same 的输出,但是如果我们将i 和j 的值更改为1000,则输出将更改为not same。当我为 SCJP 做准备时,需要弄清楚这背后的概念。谁能解释一下这种行为。谢谢。
【问题讨论】:
-
非常有趣的问题,我不知道 Java 会这样。我倾向于尽可能使用 equals(),所以我很幸运能够避免这个问题。