我们用Integer a = 数字;来赋值的时候Integer这个类是调用的public static Integer valueOf(int i)这个方法。当数组在-127到128之间,直接返回int原始数据类型,否则直接new一个对象出来,而==比较的是内存地址 因此
Integer a = 1000,b=1000;
Integer c = 100,d=100;
System.out.println(a==b); false
System.out.println(c==d); true
基本类型与对象比较的时候,对象会自动拆箱变成基本类型的值在进行比较,所以比较的是里面的值 因此
Integer a = new Integer(1000);
int b = 1000;
Integer c = new Integer(10);
Integer d = new Integer(10);
System.out.println(a == b); true
System.out.println(c == d); false ==是比较内存空间