【发布时间】:2013-08-29 20:18:25
【问题描述】:
public class Test {
public static void main(String[] args) {
Integer i=555,j=555;
System.out.println(i==j); //false
Integer l=5,n=5;
System.out.println(l==n); //true
}
}
为什么,Java?这怎么可能?
【问题讨论】:
-
stackoverflow.com/questions/8427416/… - 重复,除非反过来。
-
同样的原因,您几乎总是从不比较
Strings和==。 -
@DennisMeng 不止于此。
-
@arshajii 我可能过于简单化了,但理解一个将有助于理解另一个。
-
正如其他人所说,您是在比较对象,并且您需要了解 Java 的整数内部原理。