【Java】如何避免java.lang.NullPointerException
#编程学习日记
2021年1月23日
总结了在编写Java代码时经常遇到的NullPointerExcption的意义以及避免出现NullPointerExcption的方法。
Request processing failed; nested exception is java.lang.NullPointerException
当参照类型的变量值存储为null时,在试图引用它时会发生的异常被称为NullPointerException。
空指针异常(NullPointerException)是Java编程语言中的一种异常情况。当引用类型变量尝试引用一个空值(未定义的值)时,就会发生空指针异常。由于NullPointerException是java.lang.RuntimeException类的子类,因此即使不编写try-catch语句块来处理异常,也不会发生编译错误。(引用:https://ja.wikipedia.org/wiki/NullPointerException)
因此,如果是以下的代码,会发生空指针异常。
class Sample{
public static void main(String[] args) {
Integer i = null;
i.toString();
}
}
避免空指针异常的方法是基本上只需要判断引用类型变量是否为null。通过将代码修改为如果引用类型变量为null,则不执行任何处理,就能够消除空指针异常。
class Sample{
public static void main(String[] args) {
Integer i = null;
// i がnullの場合、処理をしない
if(i == null) {
return;
}
i.toString();
}
}
然而,随着代码量的增加,判断变得更加困难,因此需要提供解决方法。
-
- 用非空值初始化变量
-
- 数组以空值初始化
- 返回值不为null
我觉得只要注意到这三点,就能减少NullPointerException的发生。
【Java】java.lang.NullPointerException 可参考文献