Java装箱和拆箱

时间:2018-01-27 11:53:57

标签: java integer boxing unboxing

我有一个例子,我无法确定拳击和拆箱的数量,这些都发生在下面的Java代码中:

int x = 5;
Integer y = x + x;

从我的角度来看,我看到一种拳击(整数y = x + x)。我错了吗?是否还有拆箱?

2 个答案:

答案 0 :(得分:2)

没有取消装箱。只是拳击正在发生。

首先计算的x+x表达式为int装箱Integer

因此,在整个声明中,Integer没有转换为int,因此没有取消装箱

答案 1 :(得分:1)

根据你的问题,我们首先定义一个int值并将其分配给x变量(不需要拳击取消拳击),然后你要添加2个整数变量,不需要拳击取消拳击。 现在,您要为Integer分配一个int结果,意味着从原始数据类型更改为非原始数据类型。 Java autoboxing可以将int转换为整数,这里autoboxing就是装箱。