全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-07 8 分钟 ✍️ juanwangdev

Java 基础数据类型包装类

包装类将基本类型封装为对象,提供更多功能。

基本类型与包装类对应关系

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

装箱与拆箱

手动装箱/拆箱

Java
int i = 100;
Integer obj = Integer.valueOf(i);  // 装箱:基本类型 → 包装类
int j = obj.intValue();            // 拆箱:包装类 → 基本类型

自动装箱/拆箱

Java
Integer a = 100;    // 自动装箱
int b = a;          // 自动拆箱

Integer c = a + 50; // 运算时自动拆箱再装箱

常用方法

类型转换

Java
String s1 = Integer.toString(100);      // int → String
String s2 = String.valueOf(100);        // int → String

int n1 = Integer.parseInt("100");        // String → int
int n2 = Integer.valueOf("100");       // String → Integer → int

最大值/最小值

Java
int max = Integer.MAX_VALUE;  // 2147483647
int min = Integer.MIN_VALUE;  // -2147483648

缓存池

部分包装类有缓存,特定范围内的对象复用。

Java
Integer a = 127;
Integer b = 127;
System.out.println(a == b);  // true,缓存范围内

Integer c = 128;
Integer d = 128;
System.out.println(c == d);  // false,超出缓存范围
System.out.println(c.equals(d));  // true,用 equals 比较
类型缓存范围
Byte-128 ~ 127
Short-128 ~ 127
Integer-128 ~ 127
Long-128 ~ 127
Character0 ~ 127
BooleanTRUE/FALSE

包装类比较值用 equals(),不用 ==

null 与默认值

Java
Integer obj = null;
int n = obj;  // NullPointerException,拆箱时空指针

// 安全做法
int safe = (obj != null) ? obj : 0;

要点总结

  • 包装类支持泛型、null 值、工具方法
  • 自动装箱/拆箱简化代码
  • 比较值用 equals,不用 ==
  • 注意拆箱时的空指针问题

📝 发现内容有误?点击此处直接编辑

← 上一篇 Java 基本数据类型
下一篇 → Java 常量与final关键字
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库