包装类:
java语言是面向对象的语言,而基本数据类型的数据不是对象,但是有的时候我们需要研究使用基本数据类型的数据,需要将之转换成对象来使用。这个时候,我们可以将基本数据类型包装成 引用类型。
每一个基本数据类型都对应一个包装类:
byte—> Byte
short–> Short
int–> Integer
long–> Long
float–> Float
double–> Double
char–> Character
boolean–>Boolean
特点:
(1)都是final修饰的
(2)一经创建的对象里的数据不可变
常用构造器:
Integer(int value)
通过指定的基本数据类型的数据构建一个Integer对象
Integer(String str)
通过指定的字符串的数据构建一个Integer对象
常用方法:
int intValue();
作用是将包装类的对象拆箱成基本数据类型
static int parseInt(String s)
作用是将字符串转成10进制的基本数据类型
static Integer valueOf(String s)
作用是将字符串转成Integer对象
注意:将字符串转成基本数据类型时,有可能出现运行时异常:
java.lang.NumberFormatException
JDK1.5以后支持自动装箱和拆箱
包装类的常量池:
当将基本数据类型进行自动装箱时,装箱后的对象的字面值,如果
是在-128~127之间,会先检查常量池中是否有相同字面值的
对象,如果有,则将常量池的对象的地址给引用变量。
总结:
(1)八种包装类都是final修饰
(2)一经创建,对象内容不可变
(3)Character和Boolean的父类是Object
其他六种的父类是Number类型
BigDecimal:大数字类型
如果:想进行精确无误差运算,我们可以使用BigDecimal类型
提供了相应的加减乘除等功能方法进行精确运算。