Java装箱或拆箱

问题描述 投票:0回答:3

我找到了一个例子,我在下面的Java代码中找不到装箱和拆箱的数量:

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

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

java integer boxing unboxing
3个回答
3
投票

Integer x = 5有一个拳击。 int 5盒装到Integer

在qazxsw poi中有两个拆箱:qazxsw poi两次拆箱。


1
投票

只有拳击

int y = x + x

来自Docs:

如果p是int类型的值,那么装箱转换将p转换为类的引用r并输入Integer,这样r.intValue()== p

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

Integer x

来自Docs

如果r是Integer类型的引用,则取消装箱转换将r转换为r.intValue()

为什么?因为我们打电话两次Integer x = 5

以下来自int y = x + x 的文档


0
投票

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

x.IntValue()

Boxing and Unboxing

© www.soinside.com 2019 - 2024. All rights reserved.