我在当前对象上有一个带有参数的方法。调用该方法会引发 NullPointerException
,即使 this
根据定义不得为 null
。
private String doSomething(int i){
return "I";
}
调用:
Integer i = null;
String s = this.doSomething(i);
如果我没有引用 null
对象,为什么会出现 NullPointerException
?
最佳答案
在这种情况下,由于无法将 Integer i
转换为 int i
,JVM 内部抛出了 NullPointerException
。在本例中,Integer
为 null
,这当然对于 primitive data type 无效。 int
。
根据 specification,这不是允许的转换,并在 the guide for Java 1.5 中注明.
关于java - 为什么在调用 This 上的方法时会出现 NullPointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12014418/