Java 装箱和拆箱
Java boxing and unboxing
我有一个例子,我无法确定装箱和拆箱的数量,发生在下面的 Java 代码中:
int x = 5;
Integer y = x + x;
从我的角度来看,我看到了一种装箱方式(整数 y = x + x)。我错了吗?还有开箱吗?
没有拆箱。 拳击 正在发生。
首先计算的表达式 x+x
是一个 int
并且 boxed 到 Integer
.
所以在整个语句中没有Integer
到int
的转换,因此没有拆箱。
根据您的问题,我们首先定义一个 int 值并将其分配给 x 变量(无需装箱拆箱),然后您添加 2 个整数变量,无需装箱拆箱。
现在您将 int 结果分配给 Integer 意味着从原始数据类型更改为非原始数据类型。
Java 自动装箱可以将 int 转换为整数,这里是自动装箱,那里是装箱。
我有一个例子,我无法确定装箱和拆箱的数量,发生在下面的 Java 代码中:
int x = 5;
Integer y = x + x;
从我的角度来看,我看到了一种装箱方式(整数 y = x + x)。我错了吗?还有开箱吗?
没有拆箱。 拳击 正在发生。
首先计算的表达式 x+x
是一个 int
并且 boxed 到 Integer
.
所以在整个语句中没有Integer
到int
的转换,因此没有拆箱。
根据您的问题,我们首先定义一个 int 值并将其分配给 x 变量(无需装箱拆箱),然后您添加 2 个整数变量,无需装箱拆箱。 现在您将 int 结果分配给 Integer 意味着从原始数据类型更改为非原始数据类型。 Java 自动装箱可以将 int 转换为整数,这里是自动装箱,那里是装箱。