java中的包装类提供了将原始数据类型转换为对象,以及将对象转换为原始数据类型的机制。
自J2SE 5.0以来,自动装箱和取消装箱功能将原始对象和对象自动转换为原始数据类型。将原始数据类型自动转换为对象称为自动装箱,反之亦然。
java.lang
包的八个类在java中称为包装类。八个包装类的列表如下:
基本类型 | 包装类 |
---|---|
boolean | Boolean |
char | Character |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
为什么需要包装类?
将原始类型和包装类分开以保持简单是一个明智的做法。当需要一个适合像面向对象编程的类型时就需要包装类。当希望数据类型变得简单时就使用原始类型。
原始类型不能为null
,但包装类可以为null
。包装类可用于实现多态性。
下面是一个简单的程序,显示了java中包装类的不同方面应用。
------ -------------------- ------ --------------- ------ ----- -------------- - ------- ------ ---- ------------------ ----- - ------ ------ ---- ----------- -------- --- - - --- ---- - - ---- -- --------- --- - - ---- -- ---------------------- --------------- -------------- ------------------- ---- - --- --------------------------- -- ----------- ------- -- - --- ----------- ------------- -- ---------------- ------------ -------- ---- -- - ----- - -
包装类示例:原始类型到包装类型
------ ----- --------------- - ------ ------ ---- ----------- ------- - -- ---------- --- ---- ------- --- - - --- ------- - - --------------------- ---------- --- ---- ------- ------- - - ---- ----------- --- -------- ---- ----- ------------------ -- ---------- -------------------- - - - - - - - - - --- - -
输出结果 -
-- -- --
包装类示例:包装类型到原始类型
------ ----- --------------- - ------ ------ ---- ----------- ------- - -- ---------- ------- -- --- ------- - - --- ----------- --- - - --------------- ---------- ------- -- --- --- - - ---- --------- --- -------- ---- ----- ------------ ---------- -------------------- - - - - - - - - - --- - -
输出结果 -
- - -