Contents
【Java】null(Nullpointerexception )の原因と調査方法について
この記事ではJavaのnullの原因と調査方法について解説します。
Nullpointerexceptionの原因について
Javaのnullは「参照型変数に値が何も格納されていない状態」を指します。
具体的には次のようになります。
String str = null; System.out.println(str); // 実行結果 null
この時点ではエラーとなりませんが、次のようなプログラムに参照型変数にnull値が格納されている時にnull値にアクセスしようとするとエラーとなります。
String str = null; int len = str.length(); System.out.println(len); // 実行結果 Exception in thread "main" java.lang.NullPointerException at study_java.Mainsub.tesuto(Mainsub.java:442) at study_java.Main.main(Main.java:15)
Nullpointerexceptionの原因調査について
上のサンプルプログラムでは「java.lang.NullPointerException」でエラーとなっているので、nullが原因であることが読み取れます。
次の行の「at study_java.Mainsub.tesuto(Mainsub.java:442)」がエラーにて落ちた箇所になります。
Mainsub.javaの442行目にて処理が異常終了しているため、この箇所から調査していきます。※ブレイクポイントにて処理を一時停止するなど
Mainsub.javaの442行目で使用されている変数の値のセットを遡っていくとnullの原因を特定できます。※今回の場合は、文字列の長さを取得しようする変数の値がnullであるのが原因です。
Javaの記事の一覧はJava にまとめてあります