Integer内部定义了IntegerCache结构,IntegerCache中定义了 Integer[],保存了从-128~127范围的整数。如果我们使用自动装箱的方式,给Integer赋值的范围在
-128~127范围内时,可以直接使用数组中的元素,不再去new了。目的:提高效率。
Integer m = 1; //相当于没有new,直接在Integer[]里面找而已,地址相同
Integer n = 1; //相当于没有new,直接在Integer[]里面找而已,地址相同
System.out.ptint(m == n); //trueInteger x = 128; //相当于new了新的Integer
Integer y = 128; //相当于new了新的Integer
System.out.print(x == y); //false