కోడ్ సున్నితంగా నడుస్తున్నందుకు మినహాయింపులు అవసరం మరియు పరిష్కరించాల్సిన లోపం ప్రోగ్రామర్లకు తెలియజేయండి. ఈ వ్యాసంలో, మేము ఈ క్రింది క్రమంలో జావాలో శూన్య పాయింటర్ మినహాయింపుపై దృష్టి పెడతాము:
- జావాలో శూన్య పాయింటర్ మినహాయింపు అంటే ఏమిటి?
- మనకు శూన్య విలువ ఎందుకు అవసరం?
- శూన్య పాయింటర్ మినహాయింపును ఎలా నివారించాలి?
- ఒక పద్ధతి యొక్క వాదనలను తనిఖీ చేయడం
- టెర్నరీ ఆపరేటర్ యొక్క ఉపయోగం
జావాలో శూన్య పాయింటర్ మినహాయింపు అంటే ఏమిటి?
జావాలో శూన్య పాయింటర్ మినహాయింపు రన్టైమ్ మినహాయింపు. జావా ప్రపంచంలో, ఆబ్జెక్ట్ రిఫరెన్స్కు ప్రత్యేక శూన్య విలువ కేటాయించబడుతుంది. ఒక ప్రోగ్రామ్ ఆబ్జెక్ట్ రిఫరెన్స్ను ఉపయోగించడానికి ప్రయత్నించినప్పుడు శూన్య విలువను కలిగి ఉన్న శూన్య పాయింటర్ మినహాయింపు ప్రవేశపెట్టబడింది. ఇది కావచ్చు:
- శూన్య వస్తువు నుండి ఒక నిర్దిష్ట పద్ధతిని ప్రారంభించడానికి.
- శూన్య వస్తువు ఫీల్డ్ను ప్రాప్యత చేయడానికి లేదా సవరించడానికి.
- శూన్య పొడవును పరిగణనలోకి తీసుకోవడం ద్వారా, ఇది శ్రేణి వలె.
- శూన్య వస్తువు యొక్క స్లాట్లను ప్రాప్యత చేసేటప్పుడు లేదా సవరించేటప్పుడు.
- విసిరివేయదగిన విలువ వలె శూన్యతను విసరడం.
- శూన్య వస్తువుపై సమకాలీకరించడానికి ప్రయత్నిస్తోంది.
మనకు శూన్య విలువ ఎందుకు అవసరం?
శూన్యత జావాలో ఉపయోగించే ప్రత్యేక విలువ. రిఫరెన్స్ వేరియబుల్కు విలువ కేటాయించబడదని చూపించడానికి శూన్య ఉపయోగించబడుతుంది. లింక్డ్ జాబితాలు మరియు చెట్లు వంటి డేటా నిర్మాణాలను అమలు చేయడంలో శూన్యత యొక్క ప్రాధమిక అనువర్తనం ఉంది. కొన్ని ఇతర అనువర్తనాల్లో శూన్య వస్తువు నమూనాలు మరియు సింగిల్టన్ నమూనాలు ఉన్నాయి. సింగిల్టన్ నమూనా ఒక తరగతి యొక్క ఒక ఉదాహరణ మాత్రమే ప్రారంభించగలదని నిర్దేశిస్తుంది మరియు వస్తువుకు ప్రపంచవ్యాప్త ప్రాప్యతను అందించడం లక్ష్యంగా పెట్టుకుంది.
తరగతి యొక్క కనీసం ఒక ఉదాహరణను సృష్టించడానికి ఉత్తమమైన మరియు సరళమైన మార్గం ఏమిటంటే, అన్ని కన్స్ట్రక్టర్లను ప్రైవేట్గా ప్రకటించడం. అప్పుడు వారు తరగతి యొక్క ప్రత్యేక ఉదాహరణను తిరిగి ఇచ్చే పబ్లిక్ పద్ధతిని సృష్టిస్తారు.
// randomUUID ఫంక్షన్ను ఉపయోగించడానికి. దిగుమతి java.util.UUID దిగుమతి java.io. * తరగతి సింగిల్టన్ {// ఇక్కడ మేము సింగిల్ మరియు ఐడి విలువలను శూన్యంగా ప్రారంభించాము. ప్రైవేట్ స్టాటిక్ సింగిల్టన్ సింగిల్ = శూన్య ప్రైవేట్ స్ట్రింగ్ ఐడి = శూన్య ప్రైవేట్ సింగిల్టన్ () {/ * సింగిల్టన్ తరగతి యొక్క క్రొత్త సందర్భాలను సృష్టించకుండా నిరోధించడానికి దీన్ని ప్రైవేట్గా చేయండి. * / // యాదృచ్ఛిక ID ID = UUID.randomUUID () ను సృష్టించండి. ToString ()} పబ్లిక్ స్టాటిక్ సింగిల్టన్ getInstance () {if (single == null) single = new Singleton () return single} public string getID () {return this.ID}} // డ్రైవర్ కోడ్ పబ్లిక్ క్లాస్ టెస్ట్ సింగిల్టన్ {పబ్లిక్ స్టాటిక్ శూన్య ప్రధాన (స్ట్రింగ్ [] అర్గ్స్) {సింగిల్టన్ s = సింగిల్టన్.జెట్ఇన్స్టాన్స్ () System.out.println (s.getID ())}} //
అవుట్పుట్:
ఒక vs ఒక జావా ఉంది
పై ఉదాహరణ సింగిల్టన్ తరగతి యొక్క స్థిర ఉదాహరణ. ఉదాహరణ సింగిల్టన్ గెట్ ఇన్స్టాన్స్ పద్ధతిలో ఒకేసారి ప్రారంభించబడుతుంది.
డబుల్ నుండి పూర్ణాంక జావాకు మార్చండి
జావాలో శూన్య పాయింటర్ మినహాయింపును ఎలా నివారించాలి?
జావాలో శూన్య పాయింటర్ మినహాయింపును నివారించడానికి, మీరు వాటిని ఉపయోగించే ముందు అన్ని వస్తువులు సరిగ్గా ప్రారంభించబడ్డాయని మేము నిర్ధారించుకోవాలి. రిఫరెన్స్ వేరియబుల్ డిక్లేర్ అయినప్పుడు, ఒక వస్తువు శూన్యమైనది కాదని మేము ధృవీకరించాలి మరియు మేము వస్తువుల నుండి పద్ధతులు లేదా ఫీల్డ్లను అభ్యర్థించే ముందు. ఆ సమస్యను అధిగమించడానికి దాని సంబంధిత పరిష్కారాలతో ఈ క్రింది కొన్ని సమస్యలు ఉన్నాయి.
// ఒక పద్ధతి యొక్క ఇన్వోకింగ్ను ప్రదర్శించే ప్రోగ్రామ్ // శూన్య కారణాలపై NullPointerException దిగుమతి java.io. * క్లాస్ GFG {పబ్లిక్ స్టాటిక్ శూన్య ప్రధాన (స్ట్రింగ్ [] అర్గ్స్) {// శూన్య విలువతో స్ట్రింగ్ వేరియబుల్ను ప్రారంభించడం స్ట్రింగ్ ptr = null // Ptr.equals శూన్యమా లేదా బాగా పనిచేస్తుందో లేదో తనిఖీ చేస్తోంది. ప్రయత్నించండి {// ఈ కోడ్ లైన్ NullPointerException // ను విసురుతుంది ఎందుకంటే ptr శూన్యమైతే (ptr.equals ('gfg')) System.out.print ('అదే') else System.out.print ('అదే కాదు')} క్యాచ్ (NullPointerException ఇ) {System.out.print ('NullPointerException క్యాచ్')}}}
అవుట్పుట్:
ఒక పద్ధతి యొక్క వాదనలను తనిఖీ చేయడం
క్రొత్త పద్ధతి యొక్క శరీరాన్ని అమలు చేయడానికి ముందు, శూన్య విలువల కోసం దాని వాదనలను మేము నిర్ధారించాలి మరియు పద్ధతి అమలుతో కొనసాగాలని ఎల్లప్పుడూ గుర్తుంచుకోండి. ఒకవేళ మరియు వాదనలు సరిగ్గా తనిఖీ చేయబడినప్పుడు మాత్రమే. లేకపోతే, ఇది “అక్రమ ఆర్గ్యుమెంట్ ఎక్సెప్షన్” ను విసిరి, ఆమోదించిన వాదనలలో ఏదో తప్పు ఉందని కాలింగ్ పద్ధతిని పిలుస్తుంది.
పారామితులు శూన్యంగా ఉన్నాయో లేదో తనిఖీ చేయడానికి // ప్రోగ్రామ్ // వాటిని ఉపయోగించడం. దిగుమతి java.io. * తరగతి GFG {పబ్లిక్ స్టాటిక్ శూన్య ప్రధాన (స్ట్రింగ్ [] అర్గ్స్) {// స్ట్రింగ్ లు ఖాళీ స్ట్రింగ్ను సెట్ చేసి, getLength () స్ట్రింగ్ s = '' ప్రయత్నించండి {System.out.println (getLength (లు) )} క్యాచ్ (ఇల్లీగల్ ఆర్గ్యుమెంట్ ఎక్సెప్షన్ ఇ). )} క్యాచ్ (ఇల్లీగల్ ఆర్గ్యుమెంట్ ఎక్సెప్షన్ ఇ). చట్టవిరుద్ధ ఆర్గ్యుమెంట్ ఎక్సెప్షన్ ఇ) {System.out.println ('ఇల్లీగల్ ఆర్గ్యుమెంట్ ఎక్సెప్షన్ క్యాచ్')}} // స్ట్రింగ్ s యొక్క పొడవును తిరిగి ఇచ్చే ఫంక్షన్. S శూన్యమైతే ఇది // చట్టవిరుద్ధ ఆర్గ్యుమెంట్ ఎక్సెప్షన్ విసురుతుంది. పబ్లిక్ స్టాటిక్ Int getLength (స్ట్రింగ్ లు) {if (s == null) కొత్త చట్టవిరుద్ధ ఆర్గ్యుమెంట్ ఎక్సెప్షన్ ('వాదన శూన్యంగా ఉండకూడదు') తిరిగి s.length ()}}
అవుట్పుట్:
టెర్నరీ ఆపరేటర్ యొక్క ఉపయోగం
NullPointerException ను నివారించడానికి ఒక టెర్నరీ ఆపరేటర్ ఉపయోగించబడుతుంది. బూలియన్ వ్యక్తీకరణ తనిఖీ చేయబడింది మరియు వ్యక్తీకరణ నిజమైతే, విలువ 1 తిరిగి ఇవ్వబడుతుంది, లేకపోతే, విలువ 2 తిరిగి ఇవ్వబడుతుంది. శూన్య పాయింటర్లను నిర్వహించడానికి టెర్నరీ ఆపరేటర్ ఉపయోగించవచ్చు: సరైన చిత్రం సంబంధిత అవుట్పుట్.
// NullPointerException ను నివారించడానికి // టెర్నరీ ఆపరేటర్ను ఉపయోగించవచ్చని నిరూపించడానికి ఒక జావా ప్రోగ్రామ్. దిగుమతి java.io. * తరగతి GFG {పబ్లిక్ స్టాటిక్ శూన్య ప్రధాన (స్ట్రింగ్ [] అర్గ్స్) {// స్ట్రింగ్ వేరియబుల్ను శూన్య విలువతో ప్రారంభిస్తోంది స్ట్రింగ్ str = శూన్య స్ట్రింగ్ సందేశం = (str == null)? '': str.substring (0,5) System.out.println (message) str = 'Edureka_Java_Blog' message = (str == null)? '': str.substring (0,5) System.out.println (సందేశం)}}
అవుట్పుట్:
CSS లో హోవర్ అంటే ఏమిటి
ఎడురెక్
దీనితో, మేము జావాలో శూన్య పాయింటర్ మినహాయింపు చివరికి వస్తాము. మీకు శూన్య పాయింటర్ మినహాయింపు గురించి ఒక ఆలోచన వచ్చిందని నేను ఆశిస్తున్నాను.
చూడండి ప్రపంచవ్యాప్తంగా 250,000 కంటే ఎక్కువ సంతృప్తికరమైన అభ్యాసకుల నెట్వర్క్తో విశ్వసనీయ ఆన్లైన్ లెర్నింగ్ సంస్థ ఎడురేకా చేత. ఎడురేకా యొక్క జావా J2EE మరియు SOA శిక్షణ మరియు ధృవీకరణ కోర్సు జావా డెవలపర్గా ఉండాలనుకునే విద్యార్థులు మరియు నిపుణుల కోసం రూపొందించబడింది. ఈ కోర్సు మీకు జావా ప్రోగ్రామింగ్లోకి రావడానికి మరియు హైబర్నేట్ & స్ప్రింగ్ వంటి వివిధ జావా ఫ్రేమ్వర్క్లతో పాటు కోర్ మరియు అడ్వాన్స్డ్ జావా కాన్సెప్ట్ల కోసం మీకు శిక్షణ ఇవ్వడానికి రూపొందించబడింది.
మాకు ప్రశ్న ఉందా? దయచేసి ఈ “జావాలో శూన్య పాయింటర్ మినహాయింపు” బ్లాగ్ యొక్క వ్యాఖ్యల విభాగంలో పేర్కొనండి మరియు మేము వీలైనంత త్వరగా మిమ్మల్ని సంప్రదిస్తాము.