83-Java 自动装箱和拆箱
Java 自动装箱和拆箱
在本教程中,我们将借助示例学习Java自动装箱和拆箱。
Java自动装箱-包装器对象的原始类型
在自动装箱中,Java编译器会自动将原始类型转换为其相应的包装器类对象。例如,
int a = 56; // 自动装箱 Integer aObj = a;使用Java集合时,自动装箱具有很大的优势。
示例1:Java自动装箱
示例
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); } }输出结果
ArrayList: [5, 6]在上面的示例中,我们创建了一个Integer类型的数组列表。因此,数组列表只能包含Integer类型的对象。
注意这一行,
list.add(5);在这里,我们传递原始类型值。但是,由于自动装箱,原始值会自动转换为Integer对象并存储在数组列表中。
Java拆箱-包装器对象为原始类型
在拆箱中,Java编译器会自动将包装器类对象转换为其相应的原始类型。例如,
// 自动装箱 Integer aObj = 56; // 拆箱 int a = aObj;像自动装箱一样,拆箱也可以与Java集合一起使用。
示例2:Java拆箱
示例
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); // 拆箱 int a = list.get(0); System.out.println("Value at index 0: " + a); } }输出结果
ArrayList: [5, 6] Value at index 0: 5在上面的示例中,请注意以下行:
int a = list.get(0);这里,get()方法返回索引0处的对象。但是,由于拆箱,对象被自动转换为原始类型int并分配给变量a。
🎁 福利时间
如果你正在备战面试或者想要学习其他知识,给大家推荐一个宝藏知识库,作者整理了一些列 Java 程序员需要掌握的核心知识,有需要的自取不谢。
知识库地址:https://farerboy.com/
