为什么自动装箱不适用于Short(5)?

时间:2014-02-01 12:47:38

标签: java casting wrapper autoboxing

如何/为什么自动装箱适用于下面的第一个例子,而不是第二个例子?这背后的原因/逻辑是什么?

Short i = 5; // works
Short i = new Short(5) // doesn't work

Short i = new Short( (short) 5) // works again, but uses explicit cast

1 个答案:

答案 0 :(得分:3)

the javadoc所示,Short中没有构造函数将int作为参数。 5是一个int。

Autoboxing无关紧要。这需要做的是自动缩小。