Excepție de indicator nul în Java: implementare și exemple



Acest articol vă va oferi o cunoaștere detaliată și cuprinzătoare despre modul în care funcționează Null Pointer Exception în Java, cu o mulțime de exemple.

Sunt necesare excepții pentru funcționarea corectă a codului și anunțați programatorii despre eroarea care trebuie rezolvată. În acest articol, ne vom concentra asupra excepției Null Pointer în Java în următoarea ordine:

Ce este excepția Null Pointer în Java?





Excepția indicatorului nul din Java este o excepție de runtime. În lumea Java, o valoare nulă specială este atribuită referinței unui obiect. Excepția Null Pointer este introdusă atunci când un program încearcă să utilizeze o referință de obiect, care are valoarea nulă. Care poate fi:

  • Pentru a invoca o anumită metodă dintr-un obiect nul.
  • Pentru a accesa sau modifica câmpul unui obiect nul.
  • Luând în considerare lungimea nulului, ca și cum ar fi o matrice.
  • În timp ce accesați sau modificați sloturile unui obiect nul.
  • Aruncarea nulă ca o valoare aruncabilă.
  • Încercarea de a sincroniza peste un obiect nul.

De ce avem nevoie de valoarea nulă?



Null este o valoare unică utilizată în Java. Nul este utilizat pentru a arăta că nu este atribuită nicio valoare unei variabile de referință. Aplicația principală a nulului constă în implementarea structurilor de date, cum ar fi listele legate și arborii. Unele alte aplicații includ modele de obiecte nule și modele singleton. Un model unic specifică faptul că poate fi inițiată o singură instanță dintr-o clasă și are ca scop furnizarea unui punct global de acces la obiect.

Cel mai bun și mai simplu mod de a crea cel puțin o instanță a unei clase este să declarați toți constructorii ca fiind privați. Apoi creează o metodă publică care returnează instanța unică a clasei.

utilizați python în studio vizual
// Pentru a utiliza funcția randomUUID. import java.util.UUID import java.io. * clasa Singleton {// Aici inițializăm valorile single și ID la nul. private static Singleton single = null private String ID = null private Singleton () {/ * Faceți-le private, pentru a preveni crearea de noi instanțe ale clasei Singleton. * / // Creați un ID aleatoriu = UUID.randomUUID (). ToString ()} public static Singleton getInstance () {if (single == null) single = new Singleton () return single} public String getID () {return this.ID}} // Cod șofer public class TestSingleton {public static void main (String [] args) {Singleton s = Singleton.getInstance () System.out.println (s.getID ())}} //

Ieșire:



null-pointer

Exemplul de mai sus este o instanță statică a clasei singleton. Instanța este inițializată cel mult o dată în metoda Singleton get Instance.

ce este sincronizarea în java

Cum se poate evita excepția Null Pointer în Java?

Pentru a evita excepția Null Pointer în Java, trebuie să ne asigurăm că toate obiectele sunt inițializate corect înainte de a le utiliza. Când se declară o variabilă de referință, trebuie să verificăm dacă un obiect nu este nul și, de asemenea, înainte de a solicita metode sau câmpuri de la obiecte. Următoarele sunt câteva probleme cu soluțiile corespunzătoare pentru a depăși această problemă.

// programul pentru a demonstra invocarea unei metode // pe null provoacă importul NullPointerException java.io. * clasa GFG {public static void main (String [] args) {// Inițializarea variabilei String cu valoare nulă String ptr = null // Verificarea dacă ptr.equals este nul sau funcționează bine. încercați {// Această linie de cod aruncă NullPointerException // deoarece ptr este nul dacă (ptr.equals ('gfg')) System.out.print ('Same') altfel System.out.print ('Not Same')} catch (NullPointerException e) {System.out.print ('NullPointerException Caught')}}}

Ieșire:

Verificarea argumentelor unei metode

Amintiți-vă întotdeauna că, înainte de a executa corpul unei noi metode, ar trebui să îi asigurăm argumentele pentru valori nule și să continuăm cu executarea metodei. Dacă și numai când argumentele sunt verificate corespunzător. Altfel, va lansa o „IllegalArgumentException” și va apela la metoda de apelare că ceva nu este în regulă cu argumentele trecute.

// program pentru a verifica dacă parametrii sunt nuli sau nu înainte de // utilizarea acestora. import java.io. * class GFG {public static void main (String [] args) {// String s setează un șir gol și apelează getLength () String s = 'try {System.out.println (getLength (s) )} catch (IllegalArgumentException e) {System.out.println ('IllegalArgumentException caught')} // Șirul este setat la o valoare și apelează getLength () s = 'GeeksforGeeks' încercați {System.out.println (getLength (s)) )} catch (IllegalArgumentException e) {System.out.println ('IllegalArgumentException caught')} // Setarea s ca nul și apelarea getLength () s = nul Încercați {System.out.println (getLength (s))} catch ( IllegalArgumentException e) {System.out.println ('IllegalArgumentException surprins')}} // Funcția pentru a returna lungimea șirului. Aruncă // IllegalArgumentException dacă s este nul. public static int getLength (String s) {if (s == null) throw new IllegalArgumentException ('Argumentul nu poate fi nul') returnează s.length ()}}

Ieșire:

Utilizarea operatorului ternar

setați java classpath windows 7

Un operator ternar este utilizat pentru a evita NullPointerException. Expresia booleană este bifată și dacă expresia este adevărată, atunci valoarea 1 este returnată, în caz contrar, valoarea 2 este returnată. Se poate utiliza operatorul ternar pentru manipularea pointerilor nuli: Imaginea potrivită este ieșirea corespunzătoare.

// Un program Java pentru a demonstra că putem folosi // operator ternar pentru a evita NullPointerException. import java.io. * class GFG {public static void main (String [] args) {// Inițializarea variabilei String cu valoare nulă 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 (mesaj)}}

Ieșire:

Edurek

Cu aceasta, ajungem la sfârșitul Null Pointer Exception în Java. Sper că ți-ai făcut o idee despre Null Pointer Exception.

Verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru studenți și profesioniști care doresc să fie dezvoltator Java. Cursul este conceput pentru a vă oferi un început avansat în programarea Java și pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui blog „Excepția indicatorului nul în Java” și vă vom contacta cât mai curând posibil.