Java的包装类
包装类——Wrapper Class
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便。
为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代
表,这样八个和基本数据类型对应的类统称为包装类(WrapperClass),也称为外覆类或数据类型类。
包装类均位于Java.lang包,包装类和基本数据类型的对应关系如下表所示:
在这八个类名中,除了Integer和Character类,其它,六个类的类名和基本数据类型一致,只是类名的第一个字母大写即可。
int——Integer
char——Character
为什么要有包装类?
AVA是一种面向对象语言,java中的类把方法与数据连接在一起,构成了自包含式的处理单元。
但是,在JAVA中不能定义基本类型(primitive type)对象,为了能将基本类型视为对象进行处理,并能连接相关的方法,java为每个基本类型都提供了包装类。
以int为例,你可以用int i = 4;直接赋值,把 i 当作一个普通变量操作,可以加减乘除等等。
如果,想要像操作对象一样操作它,如让它告诉你自己的取值范围应该用什么方
法,让它告诉你将自己转换成特定的进制应该用什么方法,或者字符串该怎么做,这就需要对象。
所以说,对象可以极大的丰富对基本类型数据的操作,也就是说,Java中的基本数据类型包装类极大的丰富了对基本数据类型的操作。
具体方法,每一种基本数据类型包装类的使用可以查询API文档即可。
包装类作用
1、作为和基本数据类型对应的类类型存在,方便涉及到对象的操作,比如:泛型
List<Integer>nums;
这里<>需要的是类,如果使用int,就会报错。
2、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方
法。
3、包装类把基本类型数据转换为对象,方便对基本数据类型的操作,通过包装类
转换成为对对象的操作。
4、提供了一系列实用的方法,比如:在各种类型间转化,通过各种方法的调用即
可实现。
包装类的构造方法
1、所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例。
2、除Character类外,其他包装类可将一个字符串作为参数构造它们的实例。
注意事项
Boolean包装类
当构造方法参数为String类型时,若该字符串内容为true(不考虑大小写),则该
Boolean对象表示true,否则表示false。
Number包装类
当构造方法参数为String类型时,字符串不能为null,并且,该字符串必须可解析为相应的基本数据类型的数据,否则编译通过,运行时NumberFormatException异常。