Java : NullPointerException - API使用例

NullPointerException (Java SE 18 & JDK 18) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様のおともにどうぞ。


概要

オブジェクトが必要な場合に、アプリケーションがnullを使おうとするとスローされます。

クラス構成

NullPointerException は、オブジェクトが null のときにメソッドを使おうとすると発生する 非チェック例外 です。

final String str1 = "abcd";
final var upperCase1 = str1.toUpperCase();
System.out.println(upperCase1); // ABCD

final String str2 = null;

// java.lang.NullPointerException:
//   Cannot invoke "String.toUpperCase()" because "str2" is null
final var upperCase2 = str2.toUpperCase();

他には、パラメータが null かチェックする Objects.requireNonNull でも、パラメータが null のときに NullPointerException が発生します。

class Sample {
    private final String value;

    Sample(String value) {
        this.value = Objects.requireNonNull(value, "value is null");
    }

    @Override
    public String toString() {
        return value;
    }
}

final var aaa = new Sample("abcd");
System.out.println(aaa); // abcd

// java.lang.NullPointerException: value is null
final var bbb = new Sample(null);

基本的には、NullPointerException が発生したらそれはプログラムに問題があるときです。
NullPointerException が発生しないようにプログラムを修正しましょう。
( try ~ catch で NullPointerException を握りつぶすことはおすすめしません)

関連記事:例外 vs. 戻り値でエラーチェック


コンストラクタ

NullPointerException ()

詳細メッセージなしでNullPointerExceptionを構築します。

final var e = new NullPointerException();
System.out.println(e); // java.lang.NullPointerException

NullPointerException (String s)

指定された詳細メッセージを持つNullPointerExceptionを構築します。

final var e = new NullPointerException("abcde");
System.out.println(e); // java.lang.NullPointerException: abcde
System.out.println(e.getMessage()); // abcde

メソッド

String getMessage ()

このスロー可能オブジェクトの詳細メッセージ文字列を返します。

このメソッドの使用例は、NullPointerException(String s) にまとめて記載しました。
そちらのAPI使用例をご参照ください。

Throwableで宣言されたメソッド

addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString

Java API 使用例 : Throwable」をご参照ください。


関連記事

ページの先頭へ