我正在阅读Kathy Sierra和Bert Bates编写的SCJP Java 6,这本书让我非常困惑。在第245页上,他们声明以下代码。
Integer i1 = 1000;
Integer i2 = 1000;
if(i1 != i2)
System.out.println("different objects");
//Prints output
different objects
然后在下一页上,它们具有以下代码
Integer i3 = 10;
Integer i4 = 10;
if(i3 == i4)
System.out.println("same objects");
//Prints output
same objects
我很混乱!当我自己尝试该方法时,似乎无法使用==进行比较,而不是使用equals()方法。即使Integer变量设置为相同的值(即10),使用==总是给我'false'。我对么?使用==比较相同的Integer对象(具有相同的值)将始终导致'false'
相关分类