Java包装类将基本类型转为对象以适配引用类型场景,含8种对应关系(如int→Integer、char→Character),支持valueOf()装箱和xxxValue()拆箱,需注意null自动拆箱抛NPE及new方式已过时。

八大基本类型与对应包装类要记准
Java 有 8 种基本类型,每种都有唯一、固定名称的包装类(都在 java.lang 包下,无需 import):
- byte → Byte
- short → Short
- int → Integer(注意不是 Int)
- long → Long
- float → Float
- double → Double
- char → Character(注意不是 Char)
- boolean → Boolean
除 Integer 和 Character 外,其余都是首字母大写;所有包装类都不可变,线程安全。
装箱:基本类型 → 包装类对象
装箱分两种方式,推荐优先用 valueOf():
-
手动装箱:调用包装类的静态方法
valueOf(),例如Integer.valueOf(42)、Boolean.valueOf(true) -
自动装箱:编译器自动插入装箱逻辑,例如
Integer i = 100;实际等价于Integer i = Integer.valueOf(100);
⚠️ 注意:new Integer(100) 已过时(自 Java 9 起标记为 deprecated),不推荐使用,它每次都新建对象,无法利用缓存。
当用户要求为 Java 代码添加注释、修改注释、审查注释、整理注释格式,或要求按照代码注释规范处理 Java 文件时,使用本技能。本技能用于统一生成和维护 Java 类注释模板、按 Git 对比 release 判断版本号、补充每行代码上方中文块注释、调整注释空行规则,并保持 Java 文件 UTF-8 无 BOM 编码。典型触发场景包括:补充类注释、更新 @version、检查 @author 来源、整理行尾注释、把注释放到代码上一行、检查注释是否符合规范、构建前检查 Java 注释风格。
立即学习“Java免费学习笔记(深入)”;
拆箱:包装类对象 → 基本类型
同样支持手动和自动两种方式:
-
手动拆箱:调用实例方法,如
i.intValue()、b.booleanValue()、c.charValue() -
自动拆箱:编译器自动处理,例如
int x = i;实际等价于int x = i.intValue();
⚠️ 高风险点:对值为 null 的包装类变量执行自动拆箱会直接抛出 NullPointerException。例如:
Integer num = null; int value = num; // 运行时报错!
实际常用场景举例
包装类最常出现在这些地方:
-
集合中存数字:如
ArrayList<integer> list = new ArrayList(); list.add(5);</integer>—— 这里5自动装箱为Integer -
方法参数或返回值需要对象:比如某方法定义为
public void processNumber(Integer n),可传null表示“无值” -
字符串转数值:用
Integer.parseInt("123")或Double.parseDouble("3.14"),这些是包装类提供的静态工具方法 -
判断是否为空值:
if (count != null && count > 0),基本类型做不到这种语义区分

















