public class IntegerTest {
public static void main(String[] args) {
Integer i = 100;
Integer i2 = 100;
Integer i3 = 130;
Integer i4 = 130;
System.out.println(i == i2);//true
System.out.println(i3 == i4);//false
}
}
Integer对象在给对象赋值的时候,会调用Integer.valurOf()方法,查看源码及其注释知道
当值在-128~127的时候,会使用自动装箱,直接引用的是常量池中的Integer对象
当不在这个范围的时候,会创建对象,比较的是引用地址。