【发布时间】:2011-08-02 10:11:58
【问题描述】:
我的朋友有一个谜题。就是这样:
public class Test{
public static void main(String[] args){
Integer i = 1000; //10
Integer y = 1000; //10
System.out.println(i == y);
}
}
结果将为 FALSE。这是正确的。但是当将 i,y 值替换为 10 时,结果为 TRUE。
根据我的阅读,当运算符 == 应用于引用变量时,它将测试它们是否引用同一个对象。我不知道为什么会出现这样的结果,但我猜是数字提升的问题。我真的需要帮助。 谢谢大家。
【问题讨论】:
标签: java equality numeric autoboxing