我在互联网上到处寻找,试图解决这个问题。任何人都可以正确回答这个问题并解释为什么吗?非常感谢!
Look at the following code.
Integer myNumber; myNumber = 5;
Which of the following is true about the second statement?
The statement performs unboxing
The statement performs autowrapping.
The statement performs autoboxing.
It results in an error because you cannot assign a primitive type to a wrapper class object.
最佳答案
这将被视为自动装箱。它采用 int
值 5
并将其放入 Integer
对象中。
拆箱将是 int myInt = myNumber
,因为它将 Integer
分配给 int
。 (请注意,自动装箱与拆箱相反。从技术上讲,拆箱和装箱是相反的。自动装箱是 JVM 为我们处理装箱的情况。手动装箱的方式(如果可以作为一个词)是 myNumber = Integer.valueOf(5);
Autowrapping 似乎是您的教授为了欺骗您而编造的术语。
有些语言会在这种情况下抛出错误。 Java 在大多数类似的情况下都会这样做,但对于原语它有特殊的异常(exception)。
关于java - 关于第二个陈述,下列哪项是正确的? (拆箱和自动装箱),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10238705/