1.基本类型有初始值,包装类型默认值是null,包装类型可以为空,基本数据类类型不可以
2.基本类型是值传递,包装类型是引用传递
Integer i = 1;
Integer ii = 1;
int o = 1;
int oo = 1;
System.out.println(i.equals(ii));
System.out.println(o==oo);
3.包装类型可用于泛型,基本类型不可以
List<int> list = new ArrayList<>(); //会报错
List<Integer> list1 = new ArrayList<>();
4.使用 == 进行判断的时候不同 包装类==调用的是其指向的地址
Integer i = 1;
Integer ii = 1;
int o = 1;
int oo = 1;
System.out.println(i.equals(ii));
System.out.println(o==oo);
5.自动装箱,当基本类型和包装类型进行比较时,会自动拆箱,比较其中的值
Integer i = 1;
int ii = 1;
System.out.println(i==ii);//true
//Integer -> int
6.当需要进行自动装箱时,如果数字在 -128 至 127 之间,会直接使用缓存中的对象,而不是重新创建一个对象。
7.基本类型比包装类型更高效,占用内存更少。