NullPointer Exception ialah pengecualian dalam java yang sangat kerap timbul dengan pengaturcara. Ia adalah pengecualian masa jalan yang berlaku apabila instantiasi objek tidak betul. Objek diisytiharkan sebagai mempunyai nilai nol di dalamnya. Pengecualian penunjuk nol hanya menandakan bahawa ia cuba memanggil objek dengan rujukan yang mempunyai nilai nol di dalamnya. Perkara yang paling penting untuk diingat ialah pengecualian penunjuk nol tidak berkaitan dengan penunjuk kerana bahasa java tidak menyokong konsep penunjuk; sebaliknya, ia dikaitkan dengan rujukan objek.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Sintaks:
Tiada sintaks khusus untuk pengecualian penuding Null untuk ditentukan sebagai ralat masa jalan; ia secara automatik timbul dan menjadi kelihatan untuk digunakan.
Pengecualian tangkapan boleh diisytiharkan dan kemudian dilemparkan ke titik dan nyahpepijat untuk Pengecualian NullPointer. Ia adalah satu perkara yang sangat membosankan untuk nyahpepijat untuk NullPointerException. Ia diperlukan untuk memastikan bahawa instantiasi objek dan pengisytiharan rujukan adalah betul pada masa pelaksanaan.
try { Object obj1 = new Object(); // Instantiate a new object for the class as reference Obj1=null; //Provide null value to the object created Logging.log(String.format(“get the object value”, obj1.object1for reference)); } catch(java.lang.NullPointerException exception) { Logging.log(exception); } catch(Throwable exception) { Logging.log(exception,false); }
Bagaimana NullPointerException Berfungsi dalam Java?
NullPointerException dalam Java ialah pengecualian yang sama sekali bukan ralat yang lebih baik untuk pembangun. Sangat sukar untuk mencari pengecualian kerana ia berlaku setiap kali pada masa larian. Oleh itu, mencari pengecualian sedemikian adalah tugas yang membosankan. Pengaturcara mengambil masa berjam-jam untuk mengetahui NullPointerException.
Ia timbul apabila percubaan luar biasa dibuat untuk menetapkan objek yang ditakrifkan dengan nol di mana-mana apabila objek diperlukan untuk sesuatu perkara lain. Semua ralat java, termasuk NullPointerException, berlaku atas sebab tertentu seperti:
- Apabila java.lang.antara muka boleh buang diisytiharkan ia akan membuang semua kemungkinan ralat java dan seterusnya akan dilanjutkan oleh kelas yang diwarisi.
- lang.Exception kemudian mendapat warisan daripada java.lang.throwable.
- kelas lang.throwable memanjangkan java.lang.exception.
- Malah Java.lang.RuntimeException juga berlaku disebabkan oleh kelas yang diwarisi ini.
- Akhirnya, java.lang.NullPointerException akan diwarisi daripada kelas java.lang.RuntimeException.
Seperti yang dinyatakan dengan jelas dan dilihat bahawa NullPointerException akan diwarisi daripada java.lang.RuntimeException isu ini akan timbul apabila terdapat pelaksanaan aplikasi pada masa penyusunan dan pelaksanaan aplikasi. Juga, apabila ia cuba mengakses terus medan, kaedah atau rujukan objek yang salah pada masa instantiasi, maka ia sangat diperlukan untuk membuang java.lang.NullPointerException. Menambah pembalak dan kemudian mencipta objek tiruan selanjutnya dan kemudian memanggil contoh kaedah objek yang diperuntukkan nol juga membantu dalam penyahpepijatan kod yang betul dan mencari punca utama NullPointerException dan baris yang menunjuk kepada ralat dan pengecualian. Oleh itu, ia merupakan kaedah penyelesaian masalah dan penyahpepijatan yang sangat konvensional untuk memahami ralat java yang berlaku pada baris tertentu.
Pembina Java NullPointerException
Terdapat pembina khusus tertentu yang ditakrifkan dan diisytiharkan dengan kaedah NullPointerException, iaitu seperti berikut:
1. NullPointerException()
Pembina ini digunakan untuk membina NullPointerException tanpa mesej atau penjelasan terperinci. Ia boleh dianggap sebagai pengecualian kosong atau batal yang tidak disyorkan mengikut keperluan.
2. NullPointerException(String s)
Pembina ini berkelakuan bercanggah dengan NullPointerException() kerana ia termasuk sedikit mesej terperinci yang menyebabkan di lokasi yang ditentukan, dan ia akan melibatkan hujah yang boleh digunakan pada masa membina pengecualian penuding nol. Argumen String s bertanggungjawab untuk mencipta pengecualian penuding nol dengan mesej terperinci.
Contoh untuk Melaksanakan Java NullPointerException
Di bawah ialah contoh Java NullPointerException:
Contoh #1
Atur cara ini digunakan untuk menunjukkan seruan kaedah yang tidak sah pada masa pelaksanaan, yang menghasilkan NullPointerException, yang tidak diperlukan.
Kod:
public class Null_Pointer_Excptn { public static void main(String[] args) { String strng = null; try { if (strng.equals("monkey")) System.out.println("Let us take a value which needs to be similar"); else System.out.println("Otherwise it will not take a similar and equal value."); } catch(NullPointerException e) { System.out.println("It is a need to catch the null pointer exception."); } } }
Output:
Contoh #2
Program ini menggambarkan program java, yang mengelakkan penciptaan NullPointerException kerana ia bukan kaedah konvensional.
Kod:
public class Null_Pointer_Excptn_Avoid { public static void main(String[] args) { String strng2 = null; try { if ("avoid_null".equals(strng2)) System.out.println("Coming out to be equal"); else System.out.println("It is not at all coming out to be equal"); } catch(NullPointerException e) { System.out.println("Catch the null pointer Exception to get a clarification."); } } }
Output:
Example #3
This program illustrates that the NullPointerException can be avoided using the proper object verification before initialization.
Code:
public class Good_Null_Pntr_Excpn { public static void main(String[] args) { String store = "Learning"; try { System.out.println(getLength(store)); } catch(IllegalArgumentException e) { System.out.println("Need to catch the definition of illegalArgument."); } store = "Educba"; try { System.out.println(getLength(store)); } catch(IllegalArgumentException e) { System.out.println("Need to catch the definition of illegalArgument."); } store = null; try { System.out.println(getLength(store)); } catch(IllegalArgumentException e) { System.out.println("Need to catch the definition of illegalArgument."); } } public static int getLength(String store) { if (store == null) throw new IllegalArgumentException("Need to catch the definition of illegalArgument."); return store.length(); } }
Output:
How to Avoid NullPointerException?
As it is not a good practice to get NullPointerException as it makes the entire codebase cumbersome and consumes time for the programmers to figure out the root cause of the NullPointerException.
Therefore, it is very much needed to avoid these exceptions which can make sure using the following ways:
- By comparing a string with the literals.
- By keeping a check on the passed arguments or parameters being passed from the method.
- By making use of the ternary operator.
Conclusion
Java NullPointerException is an exception which is not a good option and is recommended not to occur as it consumes a lot of time. Debugging and troubleshooting become difficult; therefore, it must keep in mind that before the initialization of the object, the reference of the object must be proper. Therefore, the reference of the object’s null value should be proper, and then it can be avoided.
Atas ialah kandungan terperinci Java NullPointerException. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel ini membincangkan menggunakan Maven dan Gradle untuk Pengurusan Projek Java, membina automasi, dan resolusi pergantungan, membandingkan pendekatan dan strategi pengoptimuman mereka.

Artikel ini membincangkan membuat dan menggunakan perpustakaan Java tersuai (fail balang) dengan pengurusan versi dan pergantungan yang betul, menggunakan alat seperti Maven dan Gradle.

Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

Artikel ini membincangkan menggunakan JPA untuk pemetaan objek-relasi dengan ciri-ciri canggih seperti caching dan pemuatan malas. Ia meliputi persediaan, pemetaan entiti, dan amalan terbaik untuk mengoptimumkan prestasi sambil menonjolkan potensi perangkap. [159 aksara]

Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai

Artikel ini menerangkan Java's Remote Method Invocation (RMI) untuk membina aplikasi yang diedarkan. IT memperincikan definisi antara muka, pelaksanaan, persediaan pendaftaran, dan penyerahan klien, menangani cabaran seperti isu rangkaian dan keselamatan.

Artikel ini memperincikan API soket Java untuk komunikasi rangkaian, yang meliputi persediaan pelanggan-pelayan, pengendalian data, dan pertimbangan penting seperti pengurusan sumber, pengendalian ralat, dan keselamatan. Ia juga meneroka teknik pengoptimuman prestasi, i

Butiran artikel ini mewujudkan protokol rangkaian Java tersuai. Ia meliputi definisi protokol (struktur data, pembingkaian, pengendalian ralat, versi), pelaksanaan (menggunakan soket), serialisasi data, dan amalan terbaik (kecekapan, keselamatan, mainta


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.