Rumah  >  Artikel  >  Java  >  Cara Membetulkan: Ralat Masa Jalan Java: Pengecualian Penunjuk Null

Cara Membetulkan: Ralat Masa Jalan Java: Pengecualian Penunjuk Null

WBOY
WBOYasal
2023-08-18 21:25:062276semak imbas

Cara Membetulkan: Ralat Masa Jalan Java: Pengecualian Penunjuk Null

Cara menyelesaikan: Ralat Masa Jalan Java: NullPointerException

Gambaran Keseluruhan:
Dalam pengaturcaraan Java, NullPointerException ialah salah satu ralat masa jalan yang paling biasa. Pengecualian penuding nol berlaku apabila program cuba melakukan beberapa operasi pada objek yang rujukannya adalah nol. Artikel ini akan memperkenalkan punca pengecualian penuding nol dan menyediakan beberapa penyelesaian biasa serta kod sampel untuk membantu pembaca memahami dan menyelesaikan masalah ini dengan lebih baik.

Analisis sebab:
Pengecualian penuding nol biasanya disebabkan oleh situasi berikut:

  1. Objek tidak dimulakan: Sebelum menggunakan objek, ia mesti dimulakan. Jika objek tidak diberikan sebarang nilai atau pembina tidak dipanggil untuk permulaan, pengecualian penunjuk nol berlaku apabila mengakses pembolehubah ahli atau kaedah objek.

Contoh kod 1:

String str;
System.out.println(str.length()); // 空指针异常
  1. Rujukan objek adalah batal: Jika anda menetapkan rujukan objek kepada null dan cuba mengakses pembolehubah ahli atau kaedah objek melalui rujukan, pengecualian penuding nol juga akan berlaku.

Contoh kod 2:

String str = null;
System.out.println(str.length()); // 空指针异常
  1. Nilai pulangan kaedah adalah batal: Apabila kaedah tidak mempunyai nilai pulangan, atau nilai pulangan adalah batal, pengecualian penuding nol juga akan dilemparkan apabila kaedah dipanggil dan cuba menggunakan nilai pulangan.

Contoh kod 3:

String getValue() {
    return null;
}

String str = getValue();
System.out.println(str.length()); // 空指针异常

Penyelesaian:
Untuk masalah di atas, berikut adalah beberapa penyelesaian biasa:

  1. Periksa sama ada objek itu kosong: sebelum mengakses objek, tentukan dahulu sama ada objek itu kosong, anda boleh gunakan syarat Pernyataan penghakiman (jika pernyataan) untuk dicapai.

Contoh kod 4:

String str = null;
if (str != null) {
    System.out.println(str.length());
}
  1. Memulakan objek: Pastikan untuk memulakan objek sebelum menggunakannya Anda boleh memulakan objek melalui pembina, nilai pulangan kaedah atau penetapan langsung.

Contoh kod 5:

String str = new String("Hello");
System.out.println(str.length());
  1. Gunakan pernyataan cuba-tangkap: Dalam blok kod yang boleh menyebabkan pengecualian penuding nol, gunakan pernyataan cuba-tangkap untuk menangkap pengecualian dan mengendalikannya dengan sewajarnya untuk mengelakkan ranap program.

Contoh kod 6:

String str = null;
try {
    System.out.println(str.length());
} catch (NullPointerException e) {
    System.out.println("空指针异常:" + e.getMessage());
}
  1. Hakim cepat sebelum merujuk objek: Gunakan kelas Pilihan Java 8 untuk menilai dengan cepat sama ada objek itu kosong dan mengendalikannya dengan sewajarnya.

Contoh kod 7:

Optional<String> optional = Optional.ofNullable(null);
optional.ifPresent(str -> System.out.println(str.length()));

Ringkasan:
Dengan menggunakan penyelesaian di atas, kejadian pengecualian penunjuk nol boleh dielakkan. Walau bagaimanapun, anda masih perlu mengendalikan rujukan objek dan nilai pulangan kaedah dengan berhati-hati dalam kod anda untuk memastikan pengecualian penuding nol yang tidak perlu dielakkan. Menguasai kemahiran ini akan menjadikan kita lebih fleksibel dan cekap dalam pengaturcaraan Java.

Atas ialah kandungan terperinci Cara Membetulkan: Ralat Masa Jalan Java: Pengecualian Penunjuk Null. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn