Java语言是面向对象的,但是Java中的基本数据类型不是面向对象的,在实际开发过程中存在很多不便。为解决此问题,在设计类时为每个基本数据类型都设计了一个对应的类,成为包装类,位于java.lang包中。包装类把基本类型数据转换为对象,对应关系如下:
包装类的作用如下:
包装类作为和基本数据类型对应的类存在,方便对象的操作
包装类包含每种基本数据类型的相关属性,如最大值、最小值等,以及相关的操作方法
集合不允许存放基本数据类型数据,存放数字时,要用包装类型
包装类的继承关系:
包装类和基本数据类型的转换
(1)基本数据类型转化为包装类
在Java中,基于基本数据类型数据创建包装类时通常使用如下两种方法
1.使用包装类的构造方法(两种)
public Type(type value) 例:Integer i = new Integer(21);
public Type(String value) 例:Integer i = new Integer("21");
其中,Type表示包装类,type表示基本数据类型,String表示字符串型
注意:不能使用第二种形式的构造方法创建Character类型的包装对象。只能是
Character c = new Character('c'); 这种形式
2.使用包装类的valueOf()方法
包装类中一般包含静态的重载的valueOf()方法,它也可以接收基本数据类型数据和字符串作为参数并返回包装类的对象
例:创建一个Integer类型的包装对象
Integer i = Integer.valueOf("21"); Integer i = Integer.valueOf(21);
注意:Character类的valueOf()方法只有一个版本的定义,即valueOf(char c ),它返回一个表示指定的char值的Character对象
(2)包装类型转换成基本数据类型
通常采用如下方法:
Integer integerID = new Integer(25; int intID = integer.intValue();
Boolean bl = Boolean.valueOf(true); boolean bool = bl.booleanValue();
在Java SE 5.0版本之后程序员不需要编码实现基本数据类型和包装类之间的转换,编译器会自动完成
Integer intObject = 5; // 基本数据类型转换成包装类
int intValue = intObject; // 包装类转换成基本数据类型
包装类对象只有在基本数据类型需要用对象表示时才使用,包装类并不是用来取代基本数据类型的