包装类本质上是将Java中的基本数据类型“包裹”成对象,让基本类型也能具备对象的特性(比如存储到容器、使用面向对象功能等)。具体作用可以简单理解为以下几点: 1. 让基本类型能当“对象”用 - Java中基本类型(如 int 、 double )不是对象,但很多场景必须用对象,比如: ✦ 容器类( ArrayList 、 HashMap )只能存对象,不能直接存 int ,必须用 Integer 包装类。 ✦ 多态、反射等面向对象特性需要对象类型,基本类型无法直接参与。 2. 表示“空值”状态 - 基本类型有默认值(如 int 是0, boolean 是false),无法表示“未赋值”或“不存在”; - 包装类(如 Integer 、 Boolean )可以赋值为 null ,更适合处理数据库查询、接口返回等可能为空的场景。 3. 提供工具方法和常量 - 包装类封装了很多实用功能,比如: ✦ 类型转换: Integer.parseInt("123") 把字符串转成整数; ✦ 常量定义: Integer.MAX_VALUE 表示int的最大值; ✦ 格式化处理: Double.toString(3.14) 把数字转成字符串。 4. 自动拆装箱的“隐藏福利” 虽然需要包装类,但Java有“自动拆装箱”机制(JDK 1.5后),让代码写起来像直接用基本类型一样方便: // 自动装箱:基本类型→包装类 Integer a = 10; // 等价于 Integer a = Integer.valueOf(10); // 自动拆箱:包装类→基本类型 int b = a; // 等价于 int b = a.intValue();   举个生活例子类比: 基本类型像“裸装的鸡蛋”(性能高但不好携带),包装类像“鸡蛋盒”(把鸡蛋装盒里,方便放进冰箱、运输)。Java既要性能(裸装鸡蛋省空间),又要面向对象的灵活性(鸡蛋盒方便操作),所以搞了包装类~ 😊