java - 为什么在调用 This 上的方法时会出现 NullPointerException?

标签 java nullpointerexception

我在当前对象上有一个带有参数的方法。调用该方法会引发 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。在本例中,Integernull,这当然对于 primitive data type 无效。 int

根据 specification,这不是允许的转换,并在 the guide for Java 1.5 中注明.

关于java - 为什么在调用 This 上的方法时会出现 NullPointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12014418/

相关文章:

java - 你如何洗牌 map 中的元素

java - 具有多个元素的json的Android类结构

java - LibGDX:如何在FitViewport的黑条区域中绘制?

java - IntelliJ 中的 SonarQube 本地脚本找不到 mvn(IOException/没有这样的目录)

java - 尝试调用虚拟方法 'android.content.Context android.support.v4.app.FragmentActivity.getApplicationContext()' android

带有 Procrun、StopMethod 问题的 Java Windows 服务

java - 在 for 循环中初始化 Clip 后 Clip 上的 NullPointer

java - 使用 Apache POI 库读取 Excel (xlsx) 文件会引发 NullPointerException

java - 使用 if 语句检查后出现 NullPointerException

java - Java 赋值的空指针异常