public class Test {
public static void main(String[] args) {
Integer i1 = 1;
Integer i2 = 1;
System.out.println(i1 == i2); // true
Integer i3 = -127;
Integer i4 = -127;
System.out.println(i3 == i4); // true
// Integer内部定义了IntegerCache结构,IntegerCache中定义了Integer[],
// 保存了从-128~127范围的整数。如果我们使用自动装箱的方式,给Integer赋值的范围在-128~127时,
// 可以直接使用数组中的元素,不用再去new了。目的:提高效率。
Integer i5 = 128; // 相当于new了一个Integer对象
Integer i6 = 128; // 相当于new了一个Integer对象
System.out.println(i5 == i6); // false
}
}
Java128陷阱
最新推荐文章于 2022-09-29 11:21:25 发布