Null Pointer Exception sa Java: Pagpapatupad at Mga Halimbawa



Magbibigay sa iyo ang artikulong ito ng isang detalyado at komprehensibong kaalaman kung paano gumagana ang Null Pointer Exception sa Java na may maraming mga Halimbawa.

Kailangan ang mga pagbubukod para sa Smooth na tumatakbo ng code at ipaalam sa mga programmer na malulutas ang error. Sa artikulong ito, magtutuon kami sa Null Pointer Exception sa Java sa sumusunod na pagkakasunud-sunod:

Ano ang Exam ng Null Pointer sa Java?





Ang pagbubukod ng null pointer sa Java ay isang pagbubukod sa runtime. Sa mundo ng Java, isang espesyal na null na halaga ang itinalaga sa isang sanggunian ng bagay. Ang Null Pointer Exception ay ipinakilala kapag ang isang programa ay nagtatangka na gumamit ng isang sanggunian ng bagay, na mayroong null na halaga. Na maaaring maging:

  • Upang magpatawag ng isang tiyak na pamamaraan mula sa isang null na bagay.
  • Upang ma-access o mabago ang patlang ng isang null object.
  • Sa pamamagitan ng pagsasaalang-alang sa haba ng null, na parang ito ay isang array.
  • Habang ina-access o binabago ang mga puwang ng isang null na bagay.
  • Itinatapon ang null tulad ng isang itapon na halaga.
  • Sinusubukang i-synchronize sa isang null na bagay.

Bakit kailangan natin ang null na halaga?



Ang Null ay isang natatanging halaga na ginamit sa Java. Ginagamit ang null upang ipakita na walang halaga na naitalaga sa isang variable na sanggunian. Ang pangunahing aplikasyon ng null ay namamalagi sa pagpapatupad ng mga istruktura ng data tulad ng mga naka-link na listahan at mga puno. Ang ilang iba pang mga application ay may kasamang mga null na pattern ng object at mga pattern ng singleton. Ang isang pattern ng singleton ay tumutukoy na ang isang halimbawa lamang ng isang klase ay maaaring pasimulan at naglalayon para sa pagbibigay ng isang pandaigdigang punto ng pag-access sa object.

Ang pinakamahusay at simpleng paraan upang lumikha ng hindi bababa sa isang halimbawa ng isang klase ay upang ideklara ang lahat ng mga konstruktor bilang pribado. Pagkatapos ay lumikha sila ng isang pampublikong pamamaraan na nagbabalik ng natatanging halimbawa ng klase.

// Upang magamit ang randomUUID function. import java.util.UUID import java.io. * klase Singleton {// Dito namin Pinasimulan ang mga halaga ng solong at ID upang mawalan ng bisa. pribadong static na Singleton single = null pribadong String ID = null pribadong Singleton () {/ * Gawin itong pribado, upang maiwasan ang paglikha ng mga bagong pagkakataon ng klase ng Singleton. * / // Lumikha ng isang random ID ID = UUID.randomUUID (). ToString ()} pampublikong static na Singleton getInstance () {kung (solong == null) solong = bagong Singleton () ibalik ang solong} pampublikong String getID () {return this.ID}} // Driver Code public class TestSingleton {public static void main (String [] args) {Singleton s = Singleton.getInstance () System.out.println (s.getID ())}} //

Output:



null-pointer

data science ano ito

Ang halimbawa sa itaas ay isang static na halimbawa ng klase ng singleton. Ang halimbawa ay pinasimulan nang halos isang beses sa loob ng Singleton na makakuha ng Instance na pamamaraan.

kung paano gamitin ang substring sa java

Paano maiiwasan ang Null Pointer Exception sa Java?

Upang maiwasan ang Null Pointer Exception sa Java, dapat naming tiyakin na ang lahat ng mga bagay ay naisasagawa nang maayos bago mo gamitin ang mga ito. Kapag ang isang variable ng sanggunian ay idineklara, dapat naming patunayan na ang isang bagay ay hindi null at din Bago kami humiling ng mga pamamaraan o patlang mula sa mga bagay. Ang mga sumusunod ay ilang mga problema sa mga kaukulang solusyon nito upang mapagtagumpayan ang problemang iyon.

// program to show the invoking of a method // on null sanhi NullPointerException import java.io. * class GFG {public static void main (String [] args) {// Initializing String variable with null value String ptr = null // Sinusuri kung ang ptr.equals ay null o gumagana nang maayos. subukan ang {// Ang linya ng code na ito ay nagtatapon ng NullPointerException // dahil ptr ay null kung (ptr.equals ('gfg')) System.out.print ('Same') iba pa System.out.print ('Not Same')} catch (NullPointerException e) {System.out.print ('NullPointerException Nahuli')}}}

Output:

Pagpapanatiling isang Suri ng mga Argumento ng isang Paraan

Palaging tandaan na bago ipatupad ang katawan ng isang bagong pamamaraan, dapat nating tiyakin ang mga argumento nito para sa mga null na halaga at magpatuloy sa pagpapatupad ng pamamaraan. Kung at kung kailan maayos na nasuri ang mga argumento. Iba pa, magtatapon ito ng isang 'IllegalArgumentException' at tawagan ang paraan ng pagtawag na may isang bagay na mali sa mga naipasang argumento.

// program upang suriin kung ang mga parameter ay null o hindi bago // ginagamit ang mga ito. i-import ang java.io. * class GFG {public static void main (String [] args) {// String s magtakda ng isang walang laman na string at pagtawag sa getLength () String s = '' subukan {System.out.println (getLength (s) )} catch (IllegalArgumentException e) {System.out.println ('IllegalArgumentException nahuli')} // Nakatakda ang isang string sa isang halaga at tumatawag sa getLength () s = 'GeeksforGeeks' subukan ang {System.out.println (getLength (s) )} catch (IllegalArgumentException e) {System.out.println ('IllegalArgumentException nahuli')} // Ang pagtatakda ng bilang null at pagtawag getLength () s = null try {System.out.println (getLength (s))} catch ( IllegalArgumentException e) {System.out.println ('Nahuli ang IllegalArgumentException')}} // Function upang ibalik ang haba ng mga string s. Itinatapon nito // IllegalArgumentException kung ang s ay null. pampublikong static int getLength (String s) {kung (s == null) magtapon ng bagong IllegalArgumentException ('Ang argumento ay hindi maaaring maging null') bumalik s.length ()}}

Output:

kung paano mag-convert sa binary sa sawa

Paggamit ng Ternary Operator

Ginagamit ang isang ternary operator upang maiwasan ang NullPointerException. Ang Boolean expression ay naka-check at kung ang expression ay totoo kung gayon, ang halaga1 ay ibinalik, kung hindi man, ang halaga2 ay naibalik. Maaaring gamitin ang ternary operator para sa paghawak ng mga null pointer: Ang tamang imahe ay ang kaukulang output.

// Isang programang Java upang maipakita na maaari naming gamitin ang // ternary operator upang maiwasan ang NullPointerException. import java.io. * klase GFG {public static void main (String [] args) {// Initializing String variable na may null value 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 (mensahe)}}

Output:

Edurek

Sa pamamagitan nito, nakarating kami sa pagtatapos ng Null Pointer Exception sa Java. Inaasahan kong nakakuha ka ng ideya ng Null Pointer Exception.

Suriin ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Ang kurso sa pagsasanay at sertipikasyon ng Java J2EE at SOA ng Edureka ay idinisenyo para sa mga mag-aaral at propesyonal na nais na maging isang Java Developer. Ang kurso ay dinisenyo upang bigyan ka ng isang panimula sa pag-program ng Java at sanayin ka para sa parehong core at advanced na mga konsepto ng Java kasama ang iba't ibang mga balangkas ng Java tulad ng Hibernate & Spring.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng blog na 'Null Pointer Exception sa Java' na ito at babalikan ka namin sa lalong madaling panahon.