一.包装类的概念:就是8中基本类型对应的引用类型。
直接上图:
二. 包装类的存在意义?
1.java为了实现一切皆为对象,为8中基本类型提供了对应的引用类型。
主要就是因为基本类型的数值不是对象,不能调用对象的toString(),hashCode(),getClass()等等的方法,所以java针对这个现象提供了基本类型的包装类。
2.集合和泛型其实也只能支持包装类型,不支持基本数据类型。
三.包装类的用法
自动装箱:把基本数据类型用对应的引用类型包装一下。
integer a=6;
integer a=6;
a=integer.valueOf(6);
这是自动装箱,自动装箱是编译期底层调用的integer.valueOf()这个方法。
自动拆箱:包装类型的变量可以直接赋值给基本数据类型的变量。
拆箱与装箱的方向相反,是将integer以及Character这样的引用类型转化为基本数据类型的数据。
int b=a; //编译器底层会调用变量名.intValue()方法返回integer对象的int值
包装类的特点:
包装类的变量的默认值可以是null,容错率更高。
Integer和int的区别:
1、integer是int的包装类,int是Java的一种基本数据结构
2、integer变量必须实例化后才能使用,int变量不需要
3、integer实际是对象的引用,int是直接存储数据值
4、integer的默认值是null,int的默认值是0