在java中有八种基本数据类型对应每种基本类型又有八种包装类型:
基本类型:boolean, char, int, byte,short,long, float,double
包装器类型:Boolean,Character,Integer,Byte,Short,Long,Float,Double
从上面我们可以看到除了 char和int其它的包装类型名称和对应的基本类型一样只是首字母大写了。
在某些场合不能使用基本类型必须使用包装类,比如集合能接收的类型为Object,基本类型是无法添加进去的,还有泛型也必须使用包装类。
另外假设我们要定义一个变量表示分数 如果用基本类型表示的话:int score;
默认值为零,如果我想表示分数为空也就是没有参加考试就没法表现了因为值类型是无法赋空值的,如果使用包装类型Integer score,就可以表示这种情况,因为Integer的默认值为空。
包装类型是引用类型,说白了就是一个类,既然是类,里面可以有属性和方法,它里面有哪些属性和方法呢?每个包装类型和基本数据类型都是大同小异的,我们拿Integer 和 int来举例说明:
假设有这样一个场景,我接收到一个String型的数据想把它转换为整型,如果没有包装类这个操作是无法完成的,有了包装类我们可以这样做:
String num1 = "123";
int num2 = Integer.parseInt(num1);
parseInt就是Integer包装类提供的一个将字符串转成int型的方法。
为什么会有包装类?
1.包装类里面有一些很有用的方法和属性,如HashCode,ParseInt
2.基本类型不能赋null值,某些场合需要。
3.有些地方不能直接用基本类型,比如集合.
什么时候用包装类,什么时候用基本类型?
1.在pojo类中定义的属性用包装类
2.在rpc方法中定义参数和返回值的类型用包装类
3.定义局部变量用基本类型