int vs Integer
-
基本类型int的默认值为0;对应的封装类型Integer的默认值为null
-
Integer对象会占用更多的内存。Integer是一个对象,需要存储对象的元数据。但是int是一个原始类型的数据,所以占用的空间更少
-
自动装箱:将基本数据类型转换成相应的包装类类型
-
自动拆箱:将包装类类型转换成对应的基本数据类型
// 自动装箱
Integer integer =100;
// 自动拆箱
int i = interger;
**IntegerCache**整型对象在内部实现中通过使用相同的对象引用实现了缓存和重用,用来节省内存和提高性能
Integer i = 100;
Integer j = 100;
System.out.print(i == j); //true
Integer i = 128;
Integer j = 128;
System.out.print(i == j); //false