Java 基础数据类型包装类
包装类将基本类型封装为对象,提供更多功能。
基本类型与包装类对应关系
| 基本类型 | 包装类 |
|---|---|
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |
装箱与拆箱
手动装箱/拆箱
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 |
| Character | 0 ~ 127 |
| Boolean | TRUE/FALSE |
包装类比较值用
equals(),不用==。
null 与默认值
Java
Integer obj = null;
int n = obj; // NullPointerException,拆箱时空指针
// 安全做法
int safe = (obj != null) ? obj : 0;
要点总结
- 包装类支持泛型、null 值、工具方法
- 自动装箱/拆箱简化代码
- 比较值用 equals,不用 ==
- 注意拆箱时的空指针问题
📝 发现内容有误?点击此处直接编辑