Pengecualian Null Pointer di Java: Pelaksanaan dan Contohnya



Artikel ini akan memberi anda pengetahuan terperinci dan komprehensif tentang bagaimana Pengecualian Pointer Null berfungsi di Java dengan banyak Contoh.

Pengecualian diperlukan untuk kelancaran kod dan biarkan pengaturcara mengetahui kesalahan yang harus diselesaikan. Dalam artikel ini, kita akan memfokuskan pada Pengecualian Null Pointer di Java dalam urutan berikut:

Apakah Pengecualian Null Pointer di Java?





Pengecualian penunjuk null di Java adalah pengecualian runtime. Di dunia Java, nilai nol khas diberikan untuk rujukan objek. Pengecualian Null Pointer diperkenalkan ketika program mencoba menggunakan rujukan objek, yang memiliki nilai nol. Yang boleh:

  • Untuk menggunakan kaedah tertentu dari objek kosong.
  • Untuk mengakses atau mengubah medan objek kosong.
  • Dengan mempertimbangkan panjang nol, seolah-olah itu adalah array.
  • Semasa mengakses atau mengubah slot objek kosong.
  • Membuang nol seperti nilai yang boleh dilemparkan.
  • Mencuba untuk menyegerakkan objek kosong.

Mengapa kita memerlukan nilai nol?



Null adalah nilai unik yang digunakan di Java. Null digunakan untuk menunjukkan bahawa tidak ada nilai yang diberikan pada pemboleh ubah rujukan. Aplikasi utama null terletak pada pelaksanaan struktur data seperti senarai dan pokok yang dihubungkan. Beberapa aplikasi lain merangkumi corak objek kosong dan corak singleton. Pola singleton menetapkan bahawa hanya satu contoh kelas yang dapat dimulakan dan bertujuan untuk menyediakan titik akses global ke objek.

Kaedah terbaik dan sederhana untuk membuat sekurang-kurangnya satu contoh kelas adalah dengan menyatakan semua pembina sebagai peribadi. Kemudian mereka membuat kaedah umum yang mengembalikan contoh unik kelas.

// Untuk menggunakan fungsi randomUUID. import java.util.UUID import java.io. * class Singleton {// Di sini kita Memulakan nilai single dan ID untuk null. single Singleton statik persendirian = String ID kosong null = Singleton swasta null () {/ * Jadikan ia peribadi, untuk mengelakkan penciptaan contoh baru kelas Singleton. * / // Buat ID ID rawak = UUID.randomUUID (). ToString ()} Singleton getInstance statik awam () {if (single == null) single = Singleton baru () return single} public String getID () {return ini.ID}} // Kod Pemandu kelas awam TestSingleton {public static void main (String [] args) {Singleton s = Singleton.getInstance () System.out.println (s.getID ())}} //

Pengeluaran:



null-pointer

Contoh di atas adalah contoh statik dari kelas singleton. Contohnya diinisialisasi paling banyak sekali dalam kaedah Singleton get Instance.

Bagaimana untuk mengelakkan Pengecualian Null Pointer di Java?

Untuk mengelakkan Pengecualian Null Pointer di Java, kita mesti memastikan bahawa semua objek diinisialisasi dengan betul sebelum anda menggunakannya. Apabila pemboleh ubah rujukan dinyatakan, kita mesti mengesahkan bahawa objek tidak kosong dan juga Sebelum kita meminta kaedah atau bidang dari objek. Berikut adalah beberapa masalah dengan penyelesaian yang sesuai untuk mengatasi masalah tersebut.

// program untuk menunjukkan penggunaan kaedah // pada null menyebabkan NullPointerException import java.io. * class GFG {public static void main (String [] args) {// Memulakan pemboleh ubah String dengan nilai null String ptr = null // Memeriksa sama ada ptr. sama dengan nol atau berfungsi dengan baik. cuba {// Baris kod ini melemparkan NullPointerException // kerana ptr adalah nol jika (ptr.equals ('gfg')) System.out.print ('Same') lain System.out.print ('Not Same')} tangkapan (NullPointerException e) {System.out.print ('NullPointerException Caught')}}}

Pengeluaran:

Menjaga Pemeriksaan Hujah Kaedah

Sentiasa ingat bahawa sebelum menjalankan kaedah kaedah baru, kita harus memastikan hujahnya untuk nilai nol dan teruskan dengan pelaksanaan kaedah tersebut. Sekiranya dan hanya apabila hujah diperiksa dengan betul. Jika tidak, ia akan membuang 'IllegalArgumentException' dan memanggil kaedah memanggil bahawa ada sesuatu yang tidak kena dengan argumen yang disahkan.

// program untuk memeriksa sama ada parameter nol atau tidak sebelum // menggunakannya. import java.io. * class GFG {public static void main (String [] args) {// String s menetapkan rentetan kosong dan memanggil getLength () String s = 'cubalah {System.out.println (getLength (s) )} tangkapan (IllegalArgumentException e) {System.out.println ('IllegalArgumentException catch')} // String ditetapkan ke nilai dan memanggil getLength () s = 'GeeksforGeeks' cuba {System.out.println (getLength (s) )} catch (IllegalArgumentException e) {System.out.println ('IllegalArgumentException catch')} // Menetapkan s sebagai null dan memanggil getLength () s = null cubalah {System.out.println (getLength (s))} catch ( IllegalArgumentException e) {System.out.println ('IllegalArgumentException tertangkap')}}} // Fungsi untuk mengembalikan panjang tali s. Ia melemparkan // IllegalArgumentException jika s tidak sah. public get static int (String s) {if (s == null) membuang IllegalArgumentException baru ('Argumen tidak boleh nol') kembali s.length ()}}

Pengeluaran:

kaedah rentetan di java

Penggunaan Operator Ternary

Pengendali terner digunakan untuk mengelakkan NullPointerException. Ungkapan Boolean diperiksa dan jika ungkapan itu benar maka, nilai1 dikembalikan, jika tidak, nilai2 dikembalikan. Pengendali terner untuk menangani penunjuk nol dapat digunakan: Gambar yang tepat adalah output yang sesuai.

// Program Java untuk menunjukkan bahawa kita dapat menggunakan // operator terner untuk mengelakkan NullPointerException. import java.io. * class GFG {public static void main (String [] args) {// Memulakan pemboleh ubah String dengan nilai null String str = null String message = (str == null)? '': str.substring (0,5) System.out.println (message) str = 'Edureka_Java_Blog' message = (str == null)? '': str.substring (0,5) System.out.println (mesej)}}

Pengeluaran:

Edurek

Dengan ini, kita sampai pada akhir Pengecualian Null Pointer di Jawa. Saya harap anda mendapat idea mengenai Pengecualian Null Pointer.

Lihat oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka dirancang untuk pelajar dan profesional yang ingin menjadi Pembangun Java. Kursus ini dirancang untuk memberi Anda awal dalam pengaturcaraan Java dan melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.

Ada soalan untuk kami? Sila sebutkan di bahagian komen di blog 'Null Pointer Exception in Java' ini dan kami akan menghubungi anda secepat mungkin.