【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();
    }
}

然而,随着代码量的增加,判断变得更加困难,因此需要提供解决方法。

    1. 用非空值初始化变量

 

    1. 数组以空值初始化

 

    返回值不为null

我觉得只要注意到这三点,就能减少NullPointerException的发生。

【Java】java.lang.NullPointerException 可参考文献

广告
将在 10 秒后关闭
bannerAds