簡體   English   中英

以下代碼中的空指針異常

[英]null pointer exception in below code

在下面的代碼中,最后一個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為空,因此您嘗試在A上調用Contains。因此,NPE

由於上述A為null,因此代碼將拋出NullPointerException (NPE),它是RuntimeException。

如果對null執行任何調用(在您的情況下為contains方法調用),則將引發異常。

A.contains("xyz")

String A=null; 您正在將字符串引用A設置為null。 至此,您已經有了一個參考,但是它還沒有指向一個對象。 然后,您可以嘗試通過調用.contains方法來使用引用,就像它指向一個對象.contains ,這將導致NullPointerException,因為在引用所指向的位置沒有代碼可執行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM