Java 中的自动装箱和拆箱

Java 中的自动装箱(Autoboxing)和拆箱(Unboxing)是指在基本数据类型和对应的包装类型之间进行自动转换的特性。

自动装箱是指将基本数据类型转换为对应的包装类型。当使用包装类型作为参数传递给需要相应基本数据类型的方法,或者将基本数据类型赋值给包装类型时,会自动将基本数据类型转换为包装类型。

例如:

Integer num = 10; // 自动装箱,将 int 类型的 10 转换为 Integer 包装类型

自动拆箱是指将包装类型转换为对应的基本数据类型。当使用包装类型的对象参与需要相应基本数据类型的操作时,会自动将包装类型对象转换为基本数据类型。

例如:

Integer num = 10;
int value = num; // 自动拆箱,将 Integer 包装类型的 num 转换为 int 类型

自动装箱和拆箱可以方便地让我们在基本数据类型和包装类型之间进行转换,而不需要显式地使用构造函数或方法来手动转换。

  1. 自动装箱(Autoboxing):
int num = 10; // 定义一个基本数据类型变量
Integer objNum = num; // 自动装箱,将 int 类型的 num 转换为 Integer 包装类型
  1. 自动拆箱(Unboxing):
Integer objNum = 20; // 定义一个 Integer 包装类型对象
int num = objNum; // 自动拆箱,将 Integer 包装类型的 objNum 转换为 int 类型
  1. 自动装箱和拆箱的混合使用:
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(30); // 自动装箱,将 int 类型的 30 转换为 Integer 包装类型,并添加到 ArrayList 中

int firstNum = numbers.get(0); // 自动拆箱,将 Integer 包装类型的对象转换为 int 类型

System.out.println(firstNum); // 输出:30

你可能感兴趣的:(java面试,java,java,开发语言)