Null Pointer Exception u Javi: Implementacija i primjeri



Ovaj će vam članak pružiti detaljno i sveobuhvatno znanje o tome kako Null Pointer Exception djeluje u Javi s hrpom primjera.

Iznimke su potrebne za nesmetano izvođenje koda i obavijestiti programere da pogrešku treba riješiti. U ovom ćemo se članku usredotočiti na Null Pointer Exception u Javi sljedećim redoslijedom:

Što je Null Pointer Exception u Javi?





Izuzetak null pokazivača u Javi je runtime iznimka. U svijetu Jave referenci objekta dodjeljuje se posebna null vrijednost. Iznimka null pokazivača uvodi se kada program pokuša upotrijebiti referencu na objekt koja ima null vrijednost. Što može biti:

  • Pozivanju određene metode iz nultog objekta.
  • Za pristup ili izmjenu polja nultog objekta.
  • Razmatrajući duljinu nule, kao da je riječ o nizu.
  • Dok pristupate ili mijenjate utore nultog objekta.
  • Bacanje nule poput vrijednosti za bacanje.
  • Pokušaj sinkronizacije preko nultog objekta.

Zašto nam treba null vrijednost?



Null je jedinstvena vrijednost koja se koristi u Javi. Null se koristi da pokaže da referentnoj varijabli nije dodijeljena vrijednost. Primarna primjena nule leži u primjeni struktura podataka poput povezanih popisa i stabala. Neke druge aplikacije uključuju uzorke nultih objekata i pojedinačne uzorke. Uzorak pojedinca navodi da se može pokrenuti samo jedan primjerak klase i ima za cilj pružanje globalne točke pristupa objektu.

Najbolji i jednostavan način za stvaranje barem jedne instance klase je deklariranje svih konstruktora kao privatnih. Tada kreiraju javnu metodu koja vraća jedinstvenu instancu klase.

što je upozorenje u javascriptu
// Za upotrebu funkcije randomUUID. import java.util.UUID import java.io. * class Singleton {// Ovdje inicijaliziramo vrijednosti single i ID na null. private static Singleton single = null private String ID = null private Singleton () {/ * Neka to bude privatno, kako bi se spriječilo stvaranje novih primjera klase Singleton. * / // Stvori slučajni ID ID = UUID.randomUUID (). ToString ()} javni statički Singleton getInstance () {if (single == null) single = new Singleton () return single} javni String getID () {return this.ID}} // // Šifra vozača javna klasa TestSingleton {public static void main (String [] args) {Singleton s = Singleton.getInstance () System.out.println (s.getID ())}} //

Izlaz:



null-pointer

Gornji je primjer statička instanca klase singleton. Instanca se inicijalizira najviše jednom unutar metode Singleton get Instance.

što je ide u javi

Kako izbjeći Null Pointer Exception u Javi?

Da bismo izbjegli Null Pointer Exception na Javi, moramo biti sigurni da su svi objekti pravilno inicijalizirani prije nego što ih upotrijebite. Kada je referentna varijabla deklarirana, moramo provjeriti da objekt nije null i također Prije nego što od objekata zatražimo metode ili polja. Slijedi nekoliko problema s odgovarajućim rješenjima za njegovo prevladavanje.

// program za demonstraciju pozivanja metode // na null uzrokuje NullPointerException import java.io. * class GFG {public static void main (String [] args) {// Inicijalizacija varijable String s null vrijednošću String ptr = null // Provjera je li ptr.equals null ili radi li dobro. probajte {// Ovaj redak koda baca NullPointerException // jer je ptr null if (ptr.equals ('gfg')) System.out.print ('Same') else System.out.print ('Not Same')} catch (NullPointerException e) {System.out.print ('NullPointerException Caught')}}}

Izlaz:

Vođenje provjere argumenata metode

Uvijek imajte na umu da bismo prije izvođenja tijela nove metode trebali osigurati njene argumente za null vrijednosti i nastaviti s izvršavanjem metode. Ako i samo kada su argumenti pravilno provjereni. Inače, bacit će 'IllegalArgumentException' i pozvat će metodu pozivanja da nešto nije u redu s proslijeđenim argumentima.

// program za provjeru jesu li parametri null ili ne prije // njihove upotrebe. import java.io. * class GFG {public static void main (String [] args) {// String s postavlja prazan niz i poziva getLength () String s = '' try {System.out.println (getLength (s)) )} catch (IllegalArgumentException e) {System.out.println ('IllegalArgumentException catch')} // Niz je postavljen na vrijednost i poziva getLength () s = 'GeeksforGeeks' pokušaj {System.out.println (getLength (s)) )} catch (IllegalArgumentException e) {System.out.println ('IllegalArgumentException catch')} // Postavljanje s kao nule i pozivanje getLength () s = null try {System.out.println (getLength (s))}} catch ( IllegalArgumentException e) {System.out.println ('IllegalArgumentException uhvaćen')}} // Funkcija za vraćanje duljine niza s. Baca // IllegalArgumentException ako je s null. public static int getLength (String s) {if (s == null) baciti novi IllegalArgumentException ('Argument ne može biti null') return s.length ()}}

Izlaz:

Korištenje ternarnog operatora

kako instalirati chef server -

Ternarni operator koristi se za izbjegavanje NullPointerException. Logički izraz se provjerava i ako je izraz tada istinit, vraća se vrijednost1, u suprotnom se vraća vrijednost2. Može se koristiti ternarni operator za rukovanje null pokazivačima: Desna slika odgovarajući je izlaz.

// Java program koji demonstrira da možemo koristiti ternarni operator // kako bismo izbjegli NullPointerException. import java.io. * class GFG {public static void main (String [] args) {// Inicijalizacija varijable String s null vrijednošću String str = null String message = (str == null)? '': str.substring (0,5) System.out.println (poruka) str = 'Edureka_Java_Blog' poruka = ​​(str == null)? '': str.substring (0,5) System.out.println (poruka)}}

Izlaz:

Edurek

Ovime smo došli do kraja Null Pointer Exception na Javi. Nadam se da imate ideju o Null Pointer Exceptionu.

Pogledajte Edureka, pouzdana tvrtka za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA namijenjen je studentima i profesionalcima koji žele biti programer Java. Tečaj je dizajniran da vam pruži početnu prednost u Java programiranju i osposobi vas za osnovne i napredne Java koncepte, zajedno s raznim Java okvirima poput Hibernate & Spring.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga „Null Pointer Exception in Java“, a mi ćemo vam se javiti u najkraćem mogućem roku.