以下のコードでは、最後の SOP が印刷されていません。
String A=null;
if (A.contains("xyz")) {
System.out.println("loop1");
}
System.out.println(A);
以下のコードでは、最後の SOP が印刷されていません。
String A=null;
if (A.contains("xyz")) {
System.out.println("loop1");
}
System.out.println(A);
A はnull
で、あなたは呼び出していますif (A.contains("xyz"))
null
参照結果に対する呼び出しでNullPointerException
は、上記のステートメントが try/catch でラップされていないため、以下のコードを実行せずに例外が上位レベルに伝播します。
次のように変更します。
String A="";
if (A.contains("xyz")) {
A が null であるため、A で Contains を呼び出そうとしています。したがって、NPE
上記の A は null であるため、RuntimeException であるNullPointerException (NPE) がスローされます。
nullで呼び出しが実行されると、例外がスローされます。あなたの場合は、containsメソッド呼び出しです。
A.contains("xyz")
String A=null;
文字列参照 A を null に設定しています。この時点で参照がありますが、まだオブジェクトを指していません。次に、メソッドを呼び出してオブジェクトを指しているかのように参照を使用しようとすると.contains
、参照が指している場所で実行するコードがないため、NullPointerException が発生します。