NullPointerException (NullPointerException) ialah pengecualian masa jalan yang dilemparkan oleh JVM apabila kod aplikasi kami, API rujukan lain atau perisian tengah menghadapi situasi berikut:
- Cuba untuk memanggil kaedah instance objek nol.
- Cuba untuk mengakses atau mengubah suai medan tertentu objek kosong.
- Cuba dapatkan panjang objek kosong sebagai tatasusunan.
Langkah untuk menyelesaikan NullPointerException:
- Lihat surih tindanan java.lang.NullPointerException, tentukan tempat pengecualian dicetuskan (kod aplikasi, API pihak ketiga, perisian middleware), dan ekstrak baris yang sepadan.
- Jika masalah berlaku dalam kod aplikasi, semakan kod diperlukan. Jika masalah datang daripada API pihak ketiga atau perisian tengah, anda perlu melihat kod yang dirujuk dahulu dan menentukan sama ada ia secara tidak langsung punca masalah, seperti menghantar nilai nol kepada kaedah API pihak ketiga.
- Jika masalah ditemui dalam kod aplikasi, cuba tentukan contoh objek mana yang batal dan menyebabkan masalah itu. Kami perlu mengubah suai kod untuk menambah pengesahan semakan nol yang betul dan pengelogan yang betul supaya kami dapat memahami dari mana nilai nol itu datang.
Contoh
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();
}
}
}
Salin selepas log masuk
Output
Java Error is: java.lang.NullPointerException
java.lang.NullPointerException
at NPEDemo.main(NPEDemo.java:24)
Salin selepas log masuk
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan NullPointerException di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!