Skip to content

包装类

在 Java 中,**包装类(Wrapper Class)**是对基本数据类型(primitive types)的对象化封装。简单说:把“值”变成“对象”,从而可以参与面向对象的操作。

包装类类型

基本类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

为什么需要包装类

  • 集合只能存对象
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);