1、 包装类概述
(1)Java语言是面向对象的,但是Java中的基本数据类型却不是面向对象的,这在实际开发中存在很多的不便。为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类,称为包装类。
(2)包装类均为java.lang包中,包装类和基本数据类型的对应关系如下表所示。
(3)包装类的用途主要有两个:
-->包装类作为和基本数据类型对应的类存在,方便对象的操作。
-->包装类包含每种基本数据类型的相关属性,如最大值、最小值等,以及相关的操作方法。
2、 包装类和基本数据类型的转换
(1)基本数据类型转换为包装类
在Java中,基于基本数据类型数据创建包装类对象通常可以采用如下两种方式。
1)使用包装类的构造方法
-->public Type(type value)。
-->public Type(String value)。
其中,Type表示包装类,参数type为基本数据类型。
不能使用第二种构造方法创建Character类的包装类对象,只能是Character charValue = new Character('x')这种形式。
2)使用包装类的valueOf()方法
a)包装类中一般包含静态的重载的valueOf()方法,它可以接收基本数据类型数据和字符串作为参数并返回包装类的对象。
b)以Integer包装类为例,valueOf()方法的定义如下表所示
c)Character类的valueOf()方法只有一个版本的定义,即valueOf(char c),它返回一个表示指定char值的Character对象。
(2)包装类转换成基本数据类型
包装类转换成基本数据类型通常采用如下的方法:public type typeValue();
其中,type指的是基本数据类型,如byteValue()、charValue()等,相应的返回值为byte、char。
(3)基本类型和包装类的自动转换
1)在Java SE 5.0版本之后程序员不需要编码实现基本数据类型和包装类之间的转换,编译器会自动完成。
Integer intObject = 5; //装箱:基本数据类型转换为包装类
int intValue = intObject; //拆箱:包装类转换为基本数据类型
2)虽然Java平台提供了基本数据类型和包装类的自动转换功能。程序员在程序中也不能只使用对象,而抛弃了基本数据类型。
3)包装对象只有在基本数据类型需要用对象表示时才使用,包装类并不是用来取代基本数据类型的。