2017-07-28 211 views
0

我们可以改变包装,以原始的?如果没有的话是什么在此代码我们可以将包装类改为原始数据类型吗?

int I = Integer.valueOf(46); 
System.out.println(I); 

我没有得到任何错误发生。

+1

参见:https://docs.oracle.com/javase/tutorial/java/data/autoboxing.html –

+1

这肯定是以前曾经被问及过的。 –

+0

@ T.J.Crowder:虽然我怀疑是这样,但至少在其他复杂性的背景下,我不确定我会如何在与拆箱有关的其他数千个问题中找到重复。这是一个很好的问题,它只关注这个细节,而不是它作为条件表达式的一部分。 –

回答

1

是的,这就是所谓的拆箱

Integer boxed = 10; // Boxing 
int unboxed = boxed; // Unboxing 

装箱转换在JLS 5.1.7描述;拆箱转换在JLS 5.1.8中描述。

请注意,如果你试图拆箱一个null引用,NullPointerException会抛出:

Integer boxed = null; 
int unboxed = boxed; // NPE 
相关问题