为什么我在调用 This 方法时出现 NullPointerException



我在当前对象上有一个接受参数的方法。 调用该方法会抛出NullPointerException,即使根据定义this不得null

private String doSomething(int i){
   return "I";
}

调用:

Integer i = null;
String s = this.doSomething(i);

如果我不引用null对象,为什么会有NullPointerException

在这种情况下

,JVM内部由于无法将Integer i转换为int i而抛出NullPointerException。 在这种情况下,Integernull,这当然对原始数据类型int无效。

根据规范,这不是允许的转换,并在 Java 1.5 指南中注明。

JVM尝试将null自动框为int,但失败了NPE。

相关内容

最新更新