简单剖析Java中的装箱和拆箱

前言
在 Java 的设计中提倡一种思想,即一切皆对象。于是 Java 将基本数据类型封装成对象,每种基本数据类型分别设计了对应的类,称之为包装类(Wrapper Classes)。
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
char | Character |
float | Float |
double | Double |
boolean | Boolean |
将基本数据类型封装成对象就可以在对象中定义更多的功能方法操作
拆箱与装箱
那什么是拆箱?什么是装箱呢?
- 装箱:把基本数据类型转换为对应的包装类类型
- 拆箱:把包装类类型转换成对应的基本数据类型
Java 1.5 版本之后可以自动拆箱装箱,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行装箱及拆箱操作,不用在进行手工操作,为开发者提供了更多的方便。例如:
1 | Integer obj = 123; // 自动装箱 |
自动装箱,相当于Java编译器替我们执行了 Integer.valueOf(XXX)
;
自动拆箱,相当于Java编译器替我们执行了 Integer.intValue(XXX)
;
包装类的应用
int和Integer相互转换
1 | Integer obj = new Integer(50); // 手动装箱 |
数值类型转为字符串类型
1 | // int -> string |
字符串转为数值类型
1 | // string -> int |
- 本文标题:简单剖析Java中的装箱和拆箱
- 本文作者:Kang
- 创建时间:2021-02-19 20:28:28
- 本文链接:ykhou.github.io2021/02/19/简单剖析Java中的装箱和拆箱/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!