【发布时间】:2015-03-11 09:54:44
【问题描述】:
Integer v1_1 = 127;
Integer v1_2 = 127;
Integer v2_1 = 128;
Integer v2_2 = 128;
System.out.println(v1_1 == v1_2);//true
System.out.println(v2_1 == v2_2);//false
为什么第二个表达式是false?
我无法弄清楚该值如何影响比较结果。
【问题讨论】:
-
永远不要使用
==来比较对象。 (Java 进行“装箱”的方式让新手非常困惑——比根本没有它更糟糕,IMO。) -
我知道我从来没有那样使用它,但我只是想知道它怎么可能,现在我明白为什么了。
标签: java