Javaで発生するNullPointerExceptionエラー

Javaで、NullPointerExceptionはよくあるランタイムエラーの一種です。これは、オブジェクトのメンバーにアクセスしたり、オブジェクトのメソッドを呼び出す際に、オブジェクトの参照がnullであることを示します。言い換えれば、非nullのオブジェクトで操作を実行しようとした際に発生するエラーです。

NullPointerExceptionがよく起こる状況には、以下が含まれます:

  1. nullオブジェクトのメンバー変数にアクセスまたは変更する。
  2. nullオブジェクトのメソッドを呼び出す。
  3. 配列において、nullの配列要素にアクセスまたは変更をすることができます。
  4. メソッドの引数としてnullを渡す。
  5. nullポインターの参照を解除する。

NullPointerExceptionが発生した場合、Java仮想マシンは例外をスローしてプログラムの実行を終了します。NullPointerExceptionを避けるためには、オブジェクトを使用する前にオブジェクトの参照がnullでないことを確認し、参照がnullでないことを確認します。条件文(if文など)を使用するか、null安全演算子(?.)を使用して確認できます。

NullPointerExceptionが発生する例を次に示します。

String str = null;
System.out.println(str.length()); // NullPointerException

NullPointerExceptionを防ぐために、この例にnullチェックを追加することができます。

String str = null;
if (str != null) {
    System.out.println(str.length());
} else {
    System.out.println("str is null");
}

対象の参照がnullでないことを確認することにより、NullPointerExceptionを防ぎ、プログラムの正常な実行を保証できます。

bannerAds