一、包装类
1.1. 基本类型和对应的包装类
Java 共有 8 种基本数据类型,Java 给这些基本类型都提供了一个类进行表示,来对这些类进行一个封装,这就是包装类。
| 基本类型 | 包装类 |
|---|---|
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |
1.2. 装箱和拆箱
在 Java 当中,提供了一些操作,使包装类和内置类型可以相互转换。内置类型转为包装类型称为装箱,包装类型转为内置类型称为拆箱。但这些代码写法已经过时了,我们需要重点掌握的是自动装箱和自动拆箱。
1.3. 自动装箱和自动拆箱
public class Main {
public static void main(String[] args) {
int i = 10;
Integer ii = i; // 自动装箱
Integer ij = (Integer) i; // 自动装箱,后面的 (Integer) 可有可无
int j = ii; // 自动拆箱
int k = (int)ii; // 自动拆箱,后面的 (int) 可有可无
}
}
我们可以通过 javap -c 查看字节码文件内容,观察装箱和拆箱的操作。我们可以在 IDEA 里面装一个 jclasslib ByteCode Viewer 的插件,然后点击 View,再点击 Show Bytecode With Jclasslib。我们点到 main 方法,点击 code,就可以看到所对应的字节码文件。




