-128-127会被Integer类缓存
【以下回答由 GPT 生成】
代码的输出结果如下:
true
false
解释: Java中的Integer是一个包装类,用于将基本数据类型int封装成一个对象。对于整数范围在-128到127之间的整数,会进行缓存,即使创建多个对象,它们引用的实际是同一个对象。而超出这个范围的整数,则会创建不同的对象。
在上面的代码中,i1和i2都是100,而且在-128到127之间,所以它们引用的是同一个对象,所以i1 == i2返回true。
而i3和i4都是200,超出了缓存范围,所以创建了两个不同的对象,即使它们的值相同,但引用的实际是不同的对象,所以i3 == i4返回false。
【相关推荐】