Integer i5 = 128;
Integer i6 = 128;
i5,i6是两个不同的Integer对象的引用,他们指向的是两块不同的区域。怎么可能相等呢?所以返回false
-------------------
Integer这个类重写了它的父类Object类的equals方法。查看Integer的equals方法具体的API文档。
public boolean equals(Object obj)比较此对象与指定对象。
---当且仅当参数不为 null,并且是一个与该对象包含相同 int 值的 Integer 对象时,结果为 true。
i5,i6都包含相同的int值128。所以结果返回true。 |