जावा में ऑटोबॉक्सिंग और अनबॉक्सिंग क्या है?



यह लेख आपको जावा में ऑटोबॉक्सिंग के बारे में बेहतर समझ के लिए कुछ उदाहरणों के साथ एक व्यापक दृष्टिकोण प्रदान करेगा।

किसी भी भाषा में प्रोग्राम लिखते समय हम प्रायः आदिम डेटा प्रकारों का उपयोग करते हैं। लेकिन ऐसी परिस्थितियां हैं जहां आदिम डेटा प्रकार के दायरे में कम आते हैं तथा उनमें से एक है। आदिम डेटाटाइप्स में कमियों को दूर करने के लिए, हम उपयोग करते हैं आवरण । इस प्रक्रिया को ऑटोबॉक्सिंग कहा जाता है। हम नीचे दिए गए डॉक के माध्यम से जावा में विस्तृत ऑटोबॉक्सिंग पर चर्चा करेंगे:

चलो शुरू करें।





जावा में बॉक्सिंग और ऑटोबॉक्सिंग क्या है?

मुक्केबाजी और ऑटोबॉक्सिंग का उपयोग अक्सर एक ही अवधारणा को संदर्भित करने के लिए किया जाता है। लेकिन वास्तव में, वे बिल्कुल समान नहीं हैं। बॉक्सिंग की अवधारणा के बारे में सबसे पहले बात करते हैं। बॉक्सिंग क्या है? लगता है जैसे हम एक बॉक्स के अंदर कुछ सही रख रहे हैं? हां, जब हम कहते हैं कि हम एक आदिम डेटा प्रकार को बॉक्सिंग या रैपिंग कर रहे हैं तो इसका मतलब है कि हम इसे ऑब्जेक्ट बनाने के लिए लपेट रहे हैं। अभी भी उलझन में? एक उदाहरण लेते हैं।

int फर्स्टनंबर = 1

चर 'फर्स्ट नम्बर' एक प्रकार का इंट है जो एक । अब, क्या होगा यदि मैं चर what फर्स्ट नम्बर ’को एक वस्तु में बदलना चाहता हूँ? जावा ऐसा करने का एक तरीका प्रदान करता है।



Integer SecondNumber = नया पूर्णांक (2)

ध्यान दें कि but SecondNumber ’प्रकार का नहीं है, लेकिन यह प्रकार का एक प्रकार है Integer। आदिम डेटा प्रकारों को एक वस्तु में बदलने की इस प्रक्रिया को बॉक्सिंग कहा जाता है। आप पूछ सकते हैं कि यह कैसे संभव है? आइए इस बारे में सोचें कि इस कार्य को पूरा करने का सबसे सरल तरीका क्या है। हम एक बना सकते हैं कक्षा एक प्रकार की int की एक विशेषता युक्त, एक निर्माता जो एक int प्रकार का मान लेता है और इसे हमारी वर्ग विशेषता को असाइन करता है, और कुछ तरीके इस int मान में हेरफेर करने के लिए। इसके बारे में अधिक जानने के लिए इसे देखें दस्तावेज़

हमने देखा कि कैसे int प्रकार को Java में बदला जा सकता है। क्या अन्य आदिम डेटा प्रकारों को वस्तुओं में परिवर्तित करने का एक तरीका है? हाँ, जावा संबंधित है आवरण वर्ग विभिन्न आदिम डेटा प्रकारों के लिए। हम उन्हें इस पोस्ट के अगले भाग में देखेंगे।

ऑटोबॉक्सिंग

इस बिंदु पर, हम जानते हैं कि मुक्केबाजी क्या है। अब आइए समझते हैं कि ऑटोबॉक्सिंग क्या है। जब कंपाइलर द्वारा बॉक्सिंग की प्रक्रिया को स्पष्ट रूप से उल्लेख किए बिना किया जाता है, तो इसे ऑटोबॉक्सिंग कहा जाता है।



कैसे जावा में सिंगलटन वर्ग लिखने के लिए

इसे एक उदाहरण से समझते हैं:

आयात java.util.ArrayList आयात java.util.Listclass बॉक्स {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {सूची Mylist = नया ArrayList () के लिए (int i = 0 i)<10 i++) Mylist.add(i) } }

जैसा कि हमने पहले चर्चा की केवल वस्तुओं और आदिम डेटा प्रकार को स्वीकार नहीं करता है। उपर्युक्त कार्यक्रम में, हम टाइपकर्ता में परिवर्तित नहीं हुए थे टाइप्टर ऑब्जेक्ट्स अभी भी प्रोग्राम को बिना किसी त्रुटि के निष्पादित करता है। कैसे? इस प्रश्न का उत्तर है, कंपाइलर ने list मायलिस्ट ’के मान को जोड़ने से पहले बॉक्सिंग प्रक्रिया को स्वचालित रूप से किया था इसलिए इसका नाम ऑटोटॉक्सिंग है।

Mylist.add (Integer.valueOf (i))

संकलक द्वारा हमारे कार्यक्रम में कोड की उपरोक्त रेखा जोड़ी गई है।

ध्यान दें- कोड क्लास name‘Integer की उपरोक्त पंक्ति में विधि valueOf () से पहले उल्लेख किया गया है क्योंकि valueOf () एक स्थिर विधि है। अधिक उदाहरणों के लिए देखें डॉक्स

Unboxing और Autounboxing

हमने देखा कैसे आदिम डेटा प्रकार वस्तुओं में परिवर्तित हो जाते हैं। लेकिन यह कहानी का केवल आधा हिस्सा है। कहानी का दूसरा भाग एक प्रकार के रैपर क्लास के ऑब्जेक्ट को उसके आदिम डेटा प्रकार में परिवर्तित कर रहा है अनबॉक्सिंग

उदाहरण के लिए-

Integer FirstNumber = नया Integer (1) int SecondNumber = FirstNumber.intValue () System.out.println (SecondNumber)

आउटपुट- १

ऑटो-बॉक्सिंग- जब स्पष्ट रूप से उल्लेख किए बिना कंपाइलर द्वारा किए गए अनबॉक्सिंग की प्रक्रिया को ऑटोऑनबॉक्सिंग कहा जाता है।

उदाहरण के लिए-

Integer Number = new Integer (20) int num = संख्या

उपरोक्त कोड Autounboxing का एक उदाहरण है। अगले भाग में, हम रैपर कक्षाओं के बारे में जानेंगे।

आवरण कक्षाएं

हम टाइप वैरिएबल intl Integer टाइप ऑब्जेक्ट में परिवर्तित हो गए। यह पूर्णांक वर्ग एक आवरण वर्ग है। जावा में, प्रत्येक के लिए एक आवरण वर्ग उपलब्ध है । ये आवरण वर्ग हमें एक चर को आदिम प्रकार से संबंधित आवरण वर्ग प्रकार वस्तु में परिवर्तित करने में मदद करते हैं। रैपर कक्षाओं के तरीके मूल्यों में हेरफेर करने में उपयोगी होते हैं।

नीचे दी गई तालिका हमें आदिम डेटा प्रकार और इसके संबंधित आवरण वर्ग के बारे में बताती है।

आदिम प्रकार रैपर क्लास

बूलियन

बूलियन

अलविदा

बाइट

char

चरित्र

तैरना

तैरता है

int

पूर्ण करनेवाला

लंबा

लंबा

कम

कम

दोगुना

डबल

रैपर वर्गों में पूंजीकरण को नोटिस करें।

इस प्रकार हम 'जावा में ऑटोबॉक्सिंग' पर इस लेख के अंत में आए हैं। आप और अधिक जानने के लिए चाहते हैं, तो बाहर की जाँच करें Edureka, एक विश्वसनीय ऑनलाइन शिक्षण कंपनी द्वारा। एडुर्का के जावा जे 2 ईई और एसओए प्रशिक्षण और प्रमाणन पाठ्यक्रम आपको हाइबरनेट और स्प्रिंग जैसे विभिन्न जावा फ्रेमवर्क के साथ कोर और उन्नत जावा अवधारणाओं दोनों के लिए प्रशिक्षित करने के लिए डिज़ाइन किया गया है।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस ब्लॉग 'जावा में ऑटोबॉक्सिंग' के टिप्पणी अनुभाग में उल्लेख करें और हम जल्द से जल्द आपको वापस कर देंगे।