为什么要使用封装数据类型:
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,很多地方都需要使用对象而不是基本数据类型。比如,在集合类中,我们是无法将int 、double等类型放进去的。因为集合的容器要求元素是Object类型,为了让基本类型也具有对象的特征,就出现了包装类型,它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。
一、封装数据类型
1、Integer,int的封装数据类型
2、Double
3、Boolean
4、Character
5、Byte、Short、Long
6、Float
二、封装数据类型之间的类型转换
1、因为封装数据类型都继承了Number类和Object类,因此相互之间的转换可直接使用如intValue等方法实现,转String都使用toString方法实现,如下:(注意数值溢出不会报错)
Integer a = 1;
Byte a0 = a.byteValue();
Short a1 = a.shortValue();
Integer a5 = a.intValue();
Long a2 = a.longValue();
Float a3 = a.floatValue();
Double a4 = a.doubleValue();
String s1 = a.toString();
2、String转各封装数据类型, 均可使用如parseInt等方法实现。如下:
String str = "902";
Integer p1 = Integer.parseInt(str);
Double p2 = Double.parseDouble(str);
注意1:转整型时String不可带小数,格式不匹配时会抛异常
String str = "902.2";
//java.lang.NumberFormatException: For input string: "902.2"
Integer p1 = Integer.parseInt(str);
注意2:数值的取值范围,溢出时抛异常
String str = "902";
//java.lang.NumberFormatException: Value out of range. Value:"902" Radix:10
Byte p3 = Byte.parseByte(str);