先看案例
Integer c1 = 127;
Integer c2 = 127;
c1 == c2; //true
Integer d1 = 128;
Integer d2 = 128;
d1 == d2; //false
为什么会出现这种情况?
原因:[-128,127]之间的数,仍然当做基本数据类型来处理
c1和c2是基本数据类型所以内存地址相等,d1和d2就是两个不同的对象了
Integer c1 = 127;
Integer c2 = 127;
c1 == c2; //true
Integer d1 = 128;
Integer d2 = 128;
d1 == d2; //false
原因:[-128,127]之间的数,仍然当做基本数据类型来处理
c1和c2是基本数据类型所以内存地址相等,d1和d2就是两个不同的对象了