1、包装类
1.1概述
包装类:它是一种引用数据类型,泛型中必须使用包装类型。每个基本类型在java.lang包中都有一个相应的包装类,包装类把基本类型数据转换为对象。
2.2包装类的作用
(1)因为基本数据类型不是对象所以没法调用方法,于是Java提供了基本数据类型对应的包装类,它提供了一系列实用的方法,而且可以接受null值。
(2)集合不允许存放基本数据类型数据,要用包装类型。
基本数据类型与其对应的包装类还是非常容易记忆的,例如byte的对应包装类型为Byte,double的包装类型为Double,short的包装类型为Short,long的包装类型为Long,float的包装类型为Float,boolean的包装类型为Boolean;而有两个特殊的不在此规则内,int的包装类型为Integer,char的包装类型为Character。
2.3装箱和拆箱
装箱:基本数据类型转换为包装类的对象
拆箱:包装类对象装换为基本类型的值
在Java中,我们可以直接将基本类型赋值给包装类型或者把包装类型的值赋值给基本类型,都没有问题,因为Java帮你实现了自动拆箱装箱。例如:
Integer a = 5;
int b = a;
int c = 20;
Integer d = c;
6.4包装类的特点
(1)所有包装类都是final类型,不能创建它们的子类。
(2)JDK1.5后,允许基本数据类型和包装类型进行混合数学运算(拆箱/装箱)。
(3)包装类并不是用来取代基本数据类型的,在基本数据类型需要用对象表示时使用(包装类型就是基本类型的引用类型形式,引用数据类型有方法)。