ఏ భాషలోనైనా ప్రోగ్రామ్ రాసేటప్పుడు చాలా సార్లు మనం ఆదిమ డేటా రకాలను ఉపయోగిస్తాము. కానీ ప్రాచీన డేటా రకాలు రాజ్యంలో తక్కువగా ఉన్న పరిస్థితులు ఉన్నాయి మరియు వాటిలో ఒకటి. ఆదిమ డేటాటైప్లలోని లోపాలను అధిగమించడానికి, మేము ఉపయోగిస్తాము రేపర్లు . ఈ విధానాన్ని ఆటోబాక్సింగ్ అంటారు. మేము దిగువ డాకెట్ ద్వారా జావాలో వివరణాత్మక ఆటోబాక్సింగ్ గురించి చర్చిస్తాము:
ప్రారంభిద్దాం.
జావాలో బాక్సింగ్ మరియు ఆటోబాక్సింగ్ అంటే ఏమిటి?
ఒకే భావనను సూచించడానికి బాక్సింగ్ మరియు ఆటోబాక్సింగ్ తరచుగా ఉపయోగించబడతాయి. కానీ వాస్తవానికి, అవి సరిగ్గా ఒకేలా లేవు. మొదట బాక్సింగ్ భావన గురించి మాట్లాడుదాం. బాక్సింగ్ అంటే ఏమిటి? మేము పెట్టె లోపల ఏదో ఉంచుతున్నట్లు అనిపిస్తోంది? అవును, మేము ఒక ప్రాచీన డేటా రకాన్ని బాక్సింగ్ చేస్తున్నామని లేదా చుట్టేస్తున్నామని చెప్పినప్పుడు, ఒక వస్తువును రూపొందించడానికి మేము దానిని చుట్టేస్తున్నామని అర్థం. ఇంకా గందరగోళం? ఒక ఉదాహరణ తీసుకుందాం.
int ఫస్ట్ నంబర్ = 1
వేరియబుల్ ‘ఫస్ట్నంబర్’ రకం int, ఇది a . ఇప్పుడు, నేను వేరియబుల్ ‘ఫస్ట్ నంబర్’ ను ఒక వస్తువుగా మార్చాలనుకుంటే? జావా అలా చేసే మార్గాన్ని అందిస్తుంది.
పూర్ణాంక సెకండ్ నంబర్ = కొత్త పూర్ణాంకం (2)
‘సెకండ్నంబర్’ రకం పూర్ణాంకానికి చెందినది కాదని గమనించండి, అయితే ఇది పూర్ణాంకం రకం. ఆదిమ డేటా రకాలను ఒక వస్తువుగా మార్చే ఈ ప్రక్రియను బాక్సింగ్ అంటారు. ఇది ఎలా సాధ్యమని మీరు అడగవచ్చు? ఈ పనిని నెరవేర్చడానికి సరళమైన మార్గం ఏమిటో ఆలోచిద్దాం. మేము ఒక సృష్టించవచ్చు తరగతి టైప్ Int యొక్క ఒకే లక్షణాన్ని కలిగి ఉంది, ఒక కన్స్ట్రక్టర్ ఒక పూర్ణాంక రకం విలువను తీసుకొని దానిని మా తరగతి లక్షణానికి కేటాయిస్తుంది మరియు ఈ పూర్ణాంక విలువను మార్చటానికి కొన్ని పద్ధతులు. దీని గురించి మరింత తెలుసుకోవడానికి దీన్ని చూడండి పత్రం .
Int రకాన్ని జావాగా ఎలా మార్చవచ్చో చూశాము. ఇతర ఆదిమ డేటా రకాలను వస్తువులుగా మార్చడానికి మార్గం ఉందా? అవును, జావాకు సంబంధిత ఉంది రేపర్ క్లాస్ విభిన్న ఆదిమ డేటా రకాలు కోసం. మేము ఈ పోస్ట్ యొక్క తరువాతి విభాగంలో వాటిని పరిశీలిస్తాము.
ఆటోబాక్సింగ్
ఈ సమయంలో, బాక్సింగ్ అంటే ఏమిటో మాకు తెలుసు. ఆటోబాక్సింగ్ అంటే ఏమిటో ఇప్పుడు అర్థం చేసుకుందాం. బాక్సింగ్ ప్రక్రియను కంపైలర్ స్పష్టంగా చెప్పకుండా చేసినప్పుడు, దానిని ఆటోబాక్సింగ్ అంటారు.
దీన్ని ఉదాహరణతో అర్థం చేసుకుందాం:
దిగుమతి java.util.ArrayList దిగుమతి java.util.Listclass బాక్స్ {పబ్లిక్ స్టాటిక్ శూన్య ప్రధాన (స్ట్రింగ్ [] అర్గ్స్) {జాబితా మైలిస్ట్ = కొత్త శ్రేణి జాబితా () కోసం (int i = 0 i<10 i++) Mylist.add(i) } }
మేము ముందు చర్చించినట్లు వస్తువులను మాత్రమే అంగీకరిస్తుంది మరియు ఆదిమ డేటా రకం పనిచేయదు. పై ప్రోగ్రామ్లో, మేము టైప్లో ఇంటీజర్ టైప్ ఆబ్జెక్ట్లుగా మార్చలేదు, అయినప్పటికీ ప్రోగ్రామ్ ఎటువంటి లోపం లేకుండా అమలు చేస్తుంది. ఎలా? ఈ ప్రశ్నకు సమాధానం ఏమిటంటే, కంపైలర్ స్వయంచాలకంగా బాక్సింగ్ ప్రక్రియను ‘మైలిస్ట్’ కు విలువను జోడించే ముందు చేసింది, అందుకే ఆటోబాక్సింగ్ అనే పేరు వచ్చింది.
Mylist.add (Integer.valueOf (i))
పై ప్రోగ్రామ్ కోడ్ మా ప్రోగ్రామ్లో కంపైలర్ చేత జోడించబడింది.
గమనిక- ValueOf () ఒక స్టాటిక్ పద్ధతి కాబట్టి, కోడ్ క్లాస్ పేరు యొక్క పైన పేర్కొన్న పంక్తిలో ‘ఇంటెగర్’ విలువ విలువఆఫ్ () ముందు పేర్కొనబడింది. మరిన్ని ఉదాహరణల కోసం చూడండి డాక్స్ .
అన్బాక్సింగ్ మరియు ఆటోబాక్సింగ్
ఎలా చూశాము ఆదిమ డేటా రకం వస్తువులుగా మార్చబడుతుంది. కానీ ఇది కథలో సగం మాత్రమే. కథ యొక్క మిగిలిన సగం ఒక రకం రేపర్ క్లాస్ యొక్క వస్తువును దాని ఆదిమ డేటా రకానికి మారుస్తుంది అన్బాక్సింగ్ .
ఉదాహరణకి-
పూర్ణాంక ఫస్ట్నంబర్ = కొత్త పూర్ణాంకం (1) పూర్ణాంకం సెకండ్నంబర్ = ఫస్ట్నంబర్.ఇంట్వాల్యూ () System.out.println (సెకండ్నంబర్)
అవుట్పుట్- 1
ఆటోబాక్సింగ్- కంపైలర్ స్పష్టంగా ప్రస్తావించకుండా చేసిన అన్బాక్సింగ్ ప్రక్రియను ఆటోబాక్సింగ్ అంటారు.
ఉదాహరణకి-
పూర్ణాంక సంఖ్య = క్రొత్త పూర్ణాంకం (20) పూర్ణాంకం సంఖ్య = సంఖ్య
పై కోడ్ ఆటోబాక్సింగ్ యొక్క ఉదాహరణ. తదుపరి విభాగంలో, రేపర్ తరగతుల గురించి నేర్చుకుంటాము.
రేపర్ క్లాసులు
మేము టైప్ వేరియబుల్ ఇంటెల్ ఇంటీజర్ టైప్ ఆబ్జెక్ట్లో మార్చాము. ఈ పూర్ణాంక తరగతి ఒక రేపర్ తరగతి. జావాలో, ప్రతిదానికి ఒక రేపర్ క్లాస్ అందుబాటులో ఉంది . ఈ రేపర్ తరగతులు ఆదిమ రకం నుండి సంబంధిత రేపర్ క్లాస్ రకం వస్తువుగా మారడానికి మాకు సహాయపడతాయి. రేపర్ తరగతుల పద్ధతులు విలువలను మార్చడంలో ఉపయోగపడతాయి.
దిగువ పట్టిక ఆదిమ డేటా రకం మరియు దాని సంబంధిత రేపర్ క్లాస్ గురించి చెబుతుంది.
ఆదిమ రకం | రేపర్ క్లాస్ |
బూలియన్ | బూలియన్ యూనియన్ నిబంధన ఉపయోగించబడుతుంది |
బై | బైట్ |
చార్ | అక్షరం |
ఫ్లోట్ | ఫ్లోట్ |
పూర్ణాంకానికి | పూర్ణ సంఖ్య |
పొడవు | లాంగ్ |
చిన్నది | చిన్నది |
రెట్టింపు | డబుల్ |
రేపర్ తరగతులలో క్యాపిటలైజేషన్ గమనించండి.
ఈ విధంగా ‘జావాలో ఆటోబాక్సింగ్’ పై ఈ వ్యాసం ముగిసింది. మీరు మరింత తెలుసుకోవాలనుకుంటే, చూడండి విశ్వసనీయ ఆన్లైన్ లెర్నింగ్ సంస్థ ఎడురేకా చేత. ఎడురేకా యొక్క జావా J2EE మరియు SOA శిక్షణ మరియు ధృవీకరణ కోర్సు కోర్ మరియు అధునాతన జావా భావనలతో పాటు హైబర్నేట్ & స్ప్రింగ్ వంటి వివిధ జావా ఫ్రేమ్వర్క్ల కోసం మీకు శిక్షణ ఇవ్వడానికి రూపొందించబడింది.
మాకు ప్రశ్న ఉందా? దయచేసి ఈ బ్లాగ్ “జావాలో ఆటోబాక్సింగ్” యొక్క వ్యాఖ్యల విభాగంలో పేర్కొనండి మరియు మేము వీలైనంత త్వరగా మిమ్మల్ని సంప్రదిస్తాము.