关于integer数据对比的问题

先看案例

Integer c1 = 127;

Integer c2 = 127;

c1 == c2//true

Integer d1 = 128;

Integer d2 = 128;

d1 == d2//false

为什么会出现这种情况?

原因:[-128,127]之间的数,仍然当做基本数据类型来处理

c1和c2是基本数据类型所以内存地址相等,d1和d2就是两个不同的对象了

猜你喜欢

转载自www.cnblogs.com/MPengYu/p/12570715.html