Rumah Java javaTutorial Cara biasa untuk mengendalikan pengecualian penuding nol Java

Cara biasa untuk mengendalikan pengecualian penuding nol Java

Jan 30, 2024 am 10:32 AM
java Pengecualian penunjuk nol Penyelesaian

Cara biasa untuk mengendalikan pengecualian penuding nol Java

Penyelesaian biasa untuk pengecualian penuding nol Java

Dalam proses pembangunan Java, mengendalikan pengecualian penuding nol ialah tugas penting. Pengecualian penuding nol ialah pengecualian yang dilemparkan oleh atur cara apabila ia beroperasi pada objek dengan nilai nol Apabila pengecualian penunjuk nol berlaku dalam atur cara, ia akan menyebabkan atur cara ranap atau menghasilkan keputusan yang tidak dapat diramalkan. Berikut akan memperkenalkan beberapa kaedah biasa untuk menyelesaikan pengecualian penuding nol, serta contoh kod khusus.

  1. Gunakan pertimbangan bersyarat

Cara paling biasa untuk menyelesaikan pengecualian penuding nol ialah menggunakan pertimbangan bersyarat untuk menentukan sama ada objek itu batal sebelum beroperasi. Sebagai contoh, sebelum menggunakan kaedah objek, anda boleh terlebih dahulu menentukan sama ada objek itu nol Jika ia adalah nol, kaedah itu tidak akan dipanggil. Contoh kod adalah seperti berikut:

String str = null;
if (str != null) {
    str.length();
}
Salin selepas log masuk
  1. Menggunakan kelas Pilihan

Kelas Pilihan yang diperkenalkan dalam Java 8 boleh menyelesaikan pengecualian penuding nol dengan berkesan. Kelas Pilihan merangkum nilai yang mungkin nol dan menyediakan kaedah untuk mengendalikan nilai. Sebagai contoh, anda boleh menggunakan kaedah Optional.ofNullable() untuk mencipta objek Pilihan, yang mungkin mengandungi nilai atau nol. Jika objek Pilihan tidak kosong, anda boleh menggunakan kaedah get() untuk mendapatkan nilai. Contoh kod adalah seperti berikut:

String str = null;
Optional<String> optionalStr = Optional.ofNullable(str);
if (optionalStr.isPresent()) {
    String result = optionalStr.get();
    result.length();
}
Salin selepas log masuk
  1. Gunakan pernyataan cuba-tangkap

Apabila berurusan dengan blok kod di mana pengecualian penuding nol mungkin berlaku, anda boleh menggunakan pernyataan cuba-tangkap untuk menangkap dan mengendalikan pengecualian. Dengan menangkap pengecualian, anda boleh menghalang program daripada ranap dan mengendalikan pengecualian yang berbeza dengan sewajarnya. Contoh kod adalah seperti berikut:

String str = null;
try {
    str.length();
} catch (NullPointerException e) {
    // 处理空指针异常
    e.printStackTrace();
}
Salin selepas log masuk
  1. Menggunakan kaedah requireNonNull kelas Objects

Kelas Objek baharu dalam Java 7 menyediakan beberapa kaedah berguna, salah satunya ialah kaedah requireNonNull. Kaedah ini boleh digunakan untuk menyemak sama ada objek itu nol Jika ia adalah batal, NullPointerException dilemparkan. Contoh kod adalah seperti berikut:

String str = null;
Objects.requireNonNull(str, "str不能为null");
Salin selepas log masuk

Dengan menggunakan kaedah di atas, masalah pengecualian penuding nol boleh diselesaikan dengan berkesan. Walau bagaimanapun, semasa menulis kod, anda harus cuba mengelak daripada menggunakan null dan sebaliknya menggunakan nilai lalai atau objek kosong. Di samping itu, kejadian pengecualian penuding nol boleh dikurangkan melalui amalan pengekodan dan semakan kod yang baik.

Untuk meringkaskan, pengendalian pengecualian penuding nol adalah penting. Semasa proses pembangunan, anda harus membangunkan tabiat pengaturcaraan yang baik, cuba elakkan daripada menggunakan null, dan berhati-hati mengendalikan blok kod yang boleh menyebabkan pengecualian penunjuk nol. Melalui pertimbangan bersyarat yang munasabah, penggunaan kelas Pilihan, penggunaan pernyataan cuba-tangkap, dan penggunaan kaedah requireNonNull kelas Objek, masalah pengecualian penunjuk nol boleh diselesaikan dengan berkesan dan keteguhan dan kebolehpercayaan kod boleh bertambah baik.

(Nota: Di atas hanyalah contoh kod dan tidak mengambil kira logik perniagaan sebenar. Penggunaan khusus perlu diselaraskan mengikut situasi sebenar)

Atas ialah kandungan terperinci Cara biasa untuk mengendalikan pengecualian penuding nol Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Mengapa margin negatif tidak berkuatkuasa dalam beberapa kes? Bagaimana menyelesaikan masalah ini? Mengapa margin negatif tidak berkuatkuasa dalam beberapa kes? Bagaimana menyelesaikan masalah ini? Apr 05, 2025 pm 10:18 PM

Mengapa margin negatif tidak berkuatkuasa dalam beberapa kes? Semasa pengaturcaraan, margin negatif dalam CSS (negatif ...

Bagaimana untuk memilih elemen kanak -kanak dengan item nama kelas pertama melalui CSS? Bagaimana untuk memilih elemen kanak -kanak dengan item nama kelas pertama melalui CSS? Apr 05, 2025 pm 11:24 PM

Apabila bilangan elemen tidak ditetapkan, bagaimana untuk memilih elemen anak pertama nama kelas yang ditentukan melalui CSS. Semasa memproses struktur HTML, anda sering menghadapi unsur yang berbeza ...

Apakah sebab mengapa PS terus menunjukkan pemuatan? Apakah sebab mengapa PS terus menunjukkan pemuatan? Apr 06, 2025 pm 06:39 PM

PS "Memuatkan" Masalah disebabkan oleh akses sumber atau masalah pemprosesan: Kelajuan bacaan cakera keras adalah perlahan atau buruk: Gunakan CrystaldiskInfo untuk memeriksa kesihatan cakera keras dan menggantikan cakera keras yang bermasalah. Memori yang tidak mencukupi: Meningkatkan memori untuk memenuhi keperluan PS untuk imej resolusi tinggi dan pemprosesan lapisan kompleks. Pemandu kad grafik sudah lapuk atau rosak: Kemas kini pemandu untuk mengoptimumkan komunikasi antara PS dan kad grafik. Laluan fail terlalu panjang atau nama fail mempunyai aksara khas: Gunakan laluan pendek dan elakkan aksara khas. Masalah PS sendiri: Pasang semula atau membaiki pemasang PS.

Mengapa elemen Div tertentu dalam penyemak imbas tepi tidak dipaparkan? Bagaimana menyelesaikan masalah ini? Mengapa elemen Div tertentu dalam penyemak imbas tepi tidak dipaparkan? Bagaimana menyelesaikan masalah ini? Apr 05, 2025 pm 08:21 PM

Bagaimana menyelesaikan masalah paparan yang disebabkan oleh helaian gaya ejen pengguna? Apabila menggunakan penyemak imbas Edge, elemen Div dalam projek tidak dapat dipaparkan. Setelah memeriksa, saya menyiarkan ...

Bagaimana menyelesaikan masalah pemuatan apabila PS dimulakan? Bagaimana menyelesaikan masalah pemuatan apabila PS dimulakan? Apr 06, 2025 pm 06:36 PM

PS yang tersangkut pada "memuatkan" apabila boot boleh disebabkan oleh pelbagai sebab: Lumpuhkan plugin yang korup atau bercanggah. Padam atau namakan semula fail konfigurasi yang rosak. Tutup program yang tidak perlu atau menaik taraf memori untuk mengelakkan memori yang tidak mencukupi. Naik taraf ke pemacu keadaan pepejal untuk mempercepatkan bacaan cakera keras. Pasang semula PS untuk membaiki fail sistem rasuah atau isu pakej pemasangan. Lihat maklumat ralat semasa proses permulaan analisis log ralat.

Kenapa dua elemen blok dalam talian menunjukkan misalignment? Bagaimana menyelesaikan masalah ini? Kenapa dua elemen blok dalam talian menunjukkan misalignment? Bagaimana menyelesaikan masalah ini? Apr 05, 2025 pm 08:09 PM

Membincangkan sebab-sebab misalignment dua elemen blok sebaris. Dalam pembangunan front-end, kita sering menghadapi masalah menaip elemen, terutamanya apabila menggunakan blok sebaris ...

Bagaimana cara menggunakan fail fon yang dipasang di laman web di laman web? Bagaimana cara menggunakan fail fon yang dipasang di laman web di laman web? Apr 05, 2025 pm 10:57 PM

Cara Menggunakan Fail Font yang Dipasang Secara Tempatan Di Laman Web Adakah anda menghadapi situasi ini dalam pembangunan laman web: anda telah memasang fon pada komputer anda ...

Bagaimana menyelesaikan masalah warna latar belakang yang tidak perlu apabila satu baris teks dengan warna latar belakang melimpah ellipsis? Bagaimana menyelesaikan masalah warna latar belakang yang tidak perlu apabila satu baris teks dengan warna latar belakang melimpah ellipsis? Apr 05, 2025 pm 11:18 PM

Bagaimana menyelesaikan masalah warna latar belakang yang tidak perlu apabila satu baris teks dengan warna latar belakang melimpah ellipsis? Semasa berurusan dengan limpahan satu baris teks dengan warna latar belakang, anda sering menemui ...

See all articles