如何在 Java 中解決 NullPointerException?
NullPointerException 是 JVM 在我們的應用程式程式碼、其他引用的 API 或中介軟體遇到以下情況時丟擲的執行時異常。
嘗試呼叫空物件的例項方法。
嘗試訪問或修改空物件的特定欄位。
嘗試獲取空物件作為陣列的長度。
解決 NullPointerException 的步驟
檢視 java.lang.NullPointerException 堆疊跟蹤並確定異常觸發的位置(應用程式程式碼、第三方 API、中介軟體軟體並提取行號)。
如果問題出現在應用程式程式碼中,則需要進行程式碼 walkthrough。如果問題來自第三方 API 或中介軟體,則需要首先檢視引用的程式碼並確定它是否可能是問題的間接來源,例如,將空值傳遞給第三方 API 方法等。
如果在應用程式程式碼中發現問題,則嘗試確定哪個物件例項為空並導致問題。我們需要修改程式碼以新增適當的空值檢查驗證和正確的日誌記錄,以便我們也能瞭解空值的來源。
示例
public class NPEDemo {
private String field1 = null;
private String field2 = null;
public String getField1() {
return field1;
}
private void setField1(String field1) {
this.field1 = field1;
}
public String getField2() {
return field2;
}
private void setField2(String field2) {
this.field2 = field2;
}
public static void main(String[] args) {
try {
NPEDemo npe = new NPEDemo();
npe.setField1("field1 value");
npe = null;
npe.setField2("field2 Value");
} catch (Throwable e) {
System.out.println("Java Error is: "+e );
e.printStackTrace();
}
}
}
輸出
Java Error is: java.lang.NullPointerException java.lang.NullPointerException at NPEDemo.main(NPEDemo.java:21)
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP