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