1、值不同,使用==和equals比较都返回false
2、值相同,使用==比较:基本类型-基本类型、基本类型-包装对象返回true
包装对象-包装对象返回false
jdk缓存部分常见的Integer对象:
Integer i1 = 100;
Integer i2 = 100;
Integer i3 = 150;
Integer i4 = 150;
System.out.println(i1==i2); //打印true
System.out.println(i3==i4); //打印false
原因如下:Integer有缓存区会缓存127~-128之间的数,因此i1==i2结果为true