cari
RumahJavajavaTutorialJava NullPointerException

Java NullPointerException

Aug 30, 2024 pm 04:13 PM
java

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:

Java NullPointerException

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:

Java NullPointerException

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:

Java NullPointerException

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!

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
Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Mar 17, 2025 pm 05:46 PM

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

Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Mar 17, 2025 pm 05:45 PM

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

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Mar 17, 2025 pm 05:44 PM

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

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Mar 17, 2025 pm 05:43 PM

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]

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Mar 17, 2025 pm 05:35 PM

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

Bagaimanakah saya boleh menggunakan RMI Java (Penyerahan Kaedah Jauh) untuk pengkomputeran yang diedarkan?Bagaimanakah saya boleh menggunakan RMI Java (Penyerahan Kaedah Jauh) untuk pengkomputeran yang diedarkan?Mar 11, 2025 pm 05:53 PM

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.

Bagaimana saya menggunakan API Soket Java untuk komunikasi rangkaian?Bagaimana saya menggunakan API Soket Java untuk komunikasi rangkaian?Mar 11, 2025 pm 05:53 PM

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

Bagaimana saya boleh membuat protokol rangkaian tersuai di java?Bagaimana saya boleh membuat protokol rangkaian tersuai di java?Mar 11, 2025 pm 05:52 PM

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

See all articles

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 laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

MantisBT

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

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SecLists

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.