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」をご参照ください。
関連記事
- API 使用例
- Error (エラー)
- Exception(チェック例外)
- RuntimeException(非チェック例外)
- ArithmeticException (算術例外)
- ArrayStoreException
- CancellationException
- ClassCastException (キャスト例外)
- ConcurrentModificationException (並列処理例外)
- DateTimeException (日付・時刻の例外)
- DateTimeParseException (日付・時刻の解析例外)
- IllegalArgumentException
- IllegalStateException
- IndexOutOfBoundsException
- UnsupportedOperationException
- Throwable