Integer类明明相等的值为什么却不相等

2019-03-24  本文已影响0人  噜智深

Integer类对象的值在-127 ~ 128 之间时,可以用==比较,超出这个范围则只能使用equals()

Integer a = -100;
Integer b = -100;
Integer c = 130;
Integer d = 130;

a == b //true
c == d //false
c.equals(d) //true

或者使用intValue()方法转换成基本数据类型再用==进行比较亦可。

c.intValue() == d.intValue() //true

由此可以得出,其他包装类,如DoubleLong也遵循这样的规则。

上一篇下一篇

猜你喜欢

热点阅读