我不明白为什么x不是Integer Wrapper类的对象.
因为x从未初始化,所以它具有默认值:null.
而且,它为什么抛出"NullPointerException?"
因为autounboxing只是一个由编译器插入的方法调用,用于将其Integer转换为int:它调用Integer#intValue().但是没有实例,所以就像尝试这样做:
Integer x = null;
int someInt = x.intValue();
Run Code Online (Sandbox Code Playgroud)
......这应该是非常明显的.
自动装箱所涉及的步骤,包括此NPE行为,在JLS§5.1.8 ,拆箱转换中指定.快乐阅读!
| 归档时间: |
|
| 查看次数: |
72 次 |
| 最近记录: |