Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java装箱或取消装箱_Java_Integer_Boxing_Unboxing - Fatal编程技术网

Java装箱或取消装箱

Java装箱或取消装箱,java,integer,boxing,unboxing,Java,Integer,Boxing,Unboxing,我在下面的Java代码中找到了一个无法找到装箱和拆箱数量的示例: Integer x = 5; int y = x + x; 我想说有一种类型的拆箱(inty=x+x),但我不确定。还有装箱吗?整数x=5中有一个装箱。int5被装箱为Integer int y=x+x中有两个取消装箱:整数x取消装箱两次。整数x=5中有一个装箱。int5被装箱为Integer int y=x+x中有两个取消装箱:整数x取消装箱两次。只有装箱 Integer x = 5 从文档: 如果p是int类型的值,则装箱

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

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

我想说有一种类型的拆箱(
inty=x+x
),但我不确定。还有装箱吗?

整数x=5中有一个装箱。
int
5被装箱为
Integer


int y=x+x
中有两个取消装箱:
整数x
取消装箱两次。

整数x=5中有一个装箱。
int
5被装箱为
Integer

int y=x+x
中有两个取消装箱:
整数x
取消装箱两次。

只有装箱

Integer x = 5
从文档:

如果p是int类型的值,则装箱转换将p转换为 引用Integer类和类型的r,使r.intValue()==p

为什么??因为我们只参考一次 其中有两种拆箱方式:

int y = x + x
来自文档

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

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

以下是来自

的文档,只有装箱

Integer x = 5
从文档:

如果p是int类型的值,则装箱转换将p转换为 引用Integer类和类型的r,使r.intValue()==p

为什么??因为我们只参考一次 其中有两种拆箱方式:

int y = x + x
来自文档

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

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


接下来,在java示例中,从

将值从原始值更改为包装类值

Integer a = 10;
int b = a;

在java示例中,将值从原语值更改为包装类值

Integer a = 10;
int b = a;

x
被取消绑定两次。
x
被取消绑定两次。欢迎来到Stack Overflow,感谢您的贡献!如果您能阅读本指南并相应地调整您的答案,那就太好了。详细地说,你应该在这里以文本的形式写下基本的解释,而不是以视频的形式链接。如果您愿意,也可以删除视频链接。谢谢欢迎来到Stack Overflow,感谢您的贡献!如果您能阅读本指南并相应地调整您的答案,那就太好了。详细地说,你应该在这里以文本的形式写下基本的解释,而不是以视频的形式链接。如果您愿意,也可以删除视频链接。谢谢