Java 装箱或拆箱

Java boxing or unboxing

我在下面的 Java 代码中找到了一个无法找到装箱和拆箱数量的示例:

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

我会说只有一种拆箱方式 (int y = x + x),但我不确定。还有拳击吗?

Integer x = 5有一拳。 int 5 装箱到 Integer.

int y = x + x有两次拆箱:Integer x拆箱两次。

只有拳击

Integer x = 5

来自文档:

If p is a value of type int, then boxing conversion converts p into a reference r of class and type Integer, such that r.intValue() == p

为什么?因为我们只参考一次 并且有两个拆箱:

int y = x + x

来自文档

If r is a reference of type Integer, then unboxing conversion converts r into r.intValue()

为什么?因为我们调用了两次x.IntValue()

关注来自 Boxing and Unboxing

的文档

将值从 Primitive 值更改为 Wrapper Class java 示例中的值

Integer a = 10;
int b = a;

https://youtu.be/96pq0mpFz9M