public class IntegerTest {
public static void main(String[] args) {
// 正常创建Integer对象的方式
Integer integer = new Integer(123);
Integer integer2 = new Integer(123);
System.out.println(integer == integer2);
System.out.println(integer.equals(integer2));
// 简化创建Integer对象的方式
Integer integer3 = 127;//【自动装箱】
//integer integer3 = 128;
int i = integer3;// 【自动拆箱】
Integer integer4 = 127;
//Integer integer4 = 128;
System.out.println(integer3 == integer4);
System.out.println(integer3.equals(integer4));
}
}
自动装箱:将基本类型隐式转为对应的包装类【jdk5】
自动拆箱:将包装类转换为对应的基本类型【jdk5】
享元模式:必须是使用自动装箱方式,才用享元模式,Byte/Short/Integer/Long 都在类的内部通过静态内部类缓存了 -128~127之间的数字,在此范围内并不会创建对象,都是用的静态缓存区的对象地址;一旦超过此范围,将在堆中开辟空间创建对象。