自动装箱使用将原始数据类型转换为其包装类对象。
Wrapper 类提供了对原始类型执行的广泛功能。最常见的例子是:
int a = 56;
Integer i = a; // Auto Boxing
需要,因为程序员很容易能够直接编写代码,而 JVM 将负责装箱和拆箱。
当我们使用 java.util.Collection 类型时,自动装箱也会派上用场。当我们想创建原始类型的集合时,我们不能直接创建原始类型的集合,我们只能创建对象的集合。例如:
ArrayList<int> al = new ArrayList<int>(); // not supported
ArrayList<Integer> al = new ArrayList<Integer>(); // supported
al.add(45); //auto Boxing
包装类
Java 的 8 种基本类型(byte、short、int、float、char、double、boolean、long)中的每一种都有一个单独的 Wrapper 类与它们相关联。这些 Wrapper 类具有预定义的方法,用于对原始数据类型执行有用的操作。
包装类的使用
String s = "45";
int a = Integer.parseInt(s); // sets the value of a to 45.
Wrapper 类提供了许多有用的功能。查看 java 文档here
拆箱与自动装箱相反,我们将包装类对象转换回其原始类型。这是由 JVM 自动完成的,因此我们可以将包装类用于某些操作,然后将它们转换回原始类型,因为原始类型会导致 int 更快的处理。例如:
Integer s = 45;
int a = s; auto UnBoxing;
对于与对象一起使用的集合,仅使用自动拆箱。方法如下:
ArrayList<Integer> al = new ArrayList<Integer>();
al.add(45);
int a = al.get(0); // returns the object of Integer . Automatically Unboxed .