在Java中使用==运算符比较包装对象

我正在阅读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'


至尊宝的传说
浏览 377回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java