掌握 Java 自动装箱与拆箱:实战示例与最佳实践
Java 自动装箱与拆箱
探索 Java 如何在基本类型与包装对象间自动转换,通过实例演示该过程。
Java 自动装箱 – 从基本类型到包装对象
将基本类型值赋给包装类变量时,Java 编译器执行自动装箱创建对应包装对象。例如:
int a = 56; // 自动装箱
Integer aObj = a;
自动装箱在泛型集合(仅接受对象)中特别有用,保持代码简洁且类型安全。
示例 1:ArrayList 中的自动装箱
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
// 自动装箱:基本类型 5 和 6 变为 Integer 对象
list.add(5);
list.add(6);
System.out.println("ArrayList: " + list);
}
}
输出
ArrayList: [5, 6]
ArrayList 持有 Integer 对象,编译器自动将基本类型字面量 5 和 6 装箱。
Java 自动拆箱 – 从包装对象到基本类型
反之,自动拆箱将包装对象转回基本形式。例如:
// 自动装箱
Integer aObj = 56;
// 自动拆箱
int a = aObj;
自动拆箱与集合无缝配合,需要时以基本类型取回值。
示例 2:从 ArrayList 自动拆箱
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
list.add(5);
list.add(6);
System.out.println("ArrayList: " + list);
// 自动拆箱:索引 0 处的 Integer 变为 int
int a = list.get(0);
System.out.println("Value at index 0: " + a);
}
}
输出
ArrayList: [5, 6] Value at index 0: 5
list.get(0) 返回 Integer,编译器自动拆箱为 int 赋给 a。
理解自动装箱拆箱助你编写更简洁高效的 Java 代码,尤其在与集合和期望对象的 API 交互时。
java
- Java 变量与字面量:全面指南
- 精通 Java 输入输出:打印、读取与格式化数据
- 理解 Java 表达式、语句与代码块
- Java 类与对象:实用指南
- Java 抽象类与抽象方法完全指南
- 精通 Java 嵌套类与内部类:类型、示例与最佳实践
- Java throw 与 throws 深度解析:异常处理实战指南
- Java 字符串替换大全:replace()、replaceAll() 与 replaceFirst() 详解
- Java String toLowerCase() 与 toUpperCase():区域感知的大小写转换
- 精通 Java:理解对象、类与核心 OOP 概念
- 掌握 Java 日期时间:构造器、方法与最佳实践
- Java 10 新增 70+ API 与特性详解