包装类
在 Java 中,**包装类(Wrapper Class)**是对基本数据类型(primitive types)的对象化封装。简单说:把“值”变成“对象”,从而可以参与面向对象的操作。
包装类类型
| 基本类型 | 包装类 |
|---|---|
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |
为什么需要包装类
- 集合只能存对象
java
List<Integer> list = new ArrayList<>();
list.add(10);能写 List<int>,必须用包装类。
- 支持 null
java
Integer a = null; // 可以
int b = null; // ❌ 编译报错- 提供更多功能方法
java
Integer i = Integer.parseInt("123"); // 字符串转数字
String s = Integer.toString(123); // 数字转字符串自动装箱 & 拆箱
自动装箱
当“需要对象”时,会自动装箱
- 赋值给包装类
java
Integer a = 10; // 自动装箱,本质是 Integer.valueOf(10)- 放入集合
java
List<Integer> list = new ArrayList<>();
list.add(10);自动拆箱
当“需要基本类型”时,会自动拆箱
- 赋值给基本类型
java
Integer a = 10;
int b = a; // 自动拆箱,本质是 a.intValue()- 参与运算
java
Integer a = 10;
Integer b = 20;
int c = a + b;- 比较大小
java
Integer a = 10;
Integer b = 20;
System.out.println(a > b);