1. रॅपर प्रकारांची यादी
तुम्हाला माहित आहे की Java मध्ये 8 आदिम प्रकार आहेत, जे असे प्रकार आहेत जे वर्ग नाहीत. एकीकडे, हे चांगले आहे - ते सोपे आहेत आणि कमी जागा घेतात. दुसरीकडे, कधीकधी वर्ग आपल्याला आवश्यक असतात. ते नेमके का आहे ते तुम्हाला पुढील धड्यात कळेल.
मग काय करता येईल?
जावाच्या पाचव्या आवृत्तीपासून सुरुवात करून, प्रत्येक आदिम प्रकाराला दुहेरी वर्ग मिळाला. असा प्रत्येक वर्ग विशिष्ट प्रकारच्या मूल्यासह एकच फील्ड संचयित करतो. या वर्गांना रॅपर प्रकार म्हणतात , कारण ते वर्गांमध्ये आदिम मूल्ये गुंडाळतात.
या प्रकारांची यादी येथे आहे. तुम्हाला काही माहीत आहे का?
आदिम प्रकार | आवरण वर्ग |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
आदिम प्रकारांची नावे लोअरकेस अक्षराने सुरू होतात, परंतु रॅपर वर्गांची नावे मोठ्या अक्षराने सुरू होतात. काही वर्गांची नावेही थोडी मोठी आहेत: Integer
instead of int
и Character
instead of char
.
रॅपर वर्गातील सर्व वस्तू अपरिवर्तनीय ( अपरिवर्तनीय ) आहेत.
वर्गासाठी सरलीकृत कोड Integer
असे काहीतरी दिसते:
कोड | नोंद |
---|---|
|
व्हेरिएबल कन्स्ट्रक्टर पद्धत मूल्य परत करते स्थिर पद्धत व्हेरिएबलसाठी नवीन Integer ऑब्जेक्ट तयार करतेint |
2. int
an मध्ये रूपांतरित करणेInteger
रॅपरचे प्रकार त्यांच्या आदिम भावंडांचे समकक्ष मानले जातात: आपण सहजपणे आदिम प्रकाराशी सुसंगत रॅपर ऑब्जेक्ट तयार करू शकता.
आदिम प्रकार त्यांच्या संबंधित रॅपर प्रकारांशी कसे संवाद साधतात याचे विश्लेषण करण्यासाठी उदाहरण म्हणून int प्रकार वापरू. int
an मधून an मध्ये रूपांतरित करण्याचा कोड Integer
आणि त्याउलट असा दिसेल:
int
एक मध्ये रूपांतरित करण्यासाठी Integer
, तुम्हाला हा कोड लिहावा लागेल:
Integer name = new Integer(value);
name
व्हेरिएबलचे नाव कुठे आहे Integer
आणि value
गुंडाळलेले int
मूल्य आहे.
उदाहरणे:
कोड | नोंद |
---|---|
|
|
|
|
|
Integer
आणि an ला an मध्ये रूपांतरित करण्यासाठी int
, तुम्हाला हा कोड लिहावा लागेल:
int name = variable.intValue();
name
व्हेरिएबलचे नाव कुठे आहे int
आणि variable
ते ऑब्जेक्टचा संदर्भ आहे Integer
.
उदाहरणे:
कोड | नोंद |
---|---|
|
|
|
|
|
|
|
|
3. ऑटोबॉक्सिंग आणि अनबॉक्सिंग
परंतु प्रकारासह साध्या ऑपरेशन देखील Integer
लिहिणे सोपे नाही.
आम्ही आधी म्हटल्याप्रमाणे, Integer
प्रकार अपरिवर्तनीय ( अपरिवर्तनीय ) आहे. Integer
नवीन मूल्यासह ऑब्जेक्ट तयार करण्यासाठी int
, आपल्याला स्पष्टपणे एक नवीन Integer
ऑब्जेक्ट तयार करणे आवश्यक आहे. int
ते म्हणाले, एखाद्या वस्तूच्या आत साठवलेल्या मूल्याचे मूल्य मिळवणे सोपे आहे Integer
— फक्त intValue()
पद्धत कॉल करा.
उदाहरण:
कोड | वर्णन |
---|---|
|
5 ऑब्जेक्टमध्ये गुंडाळा ऑब्जेक्टचे मूल्य मिळवा एक नवीन ऑब्जेक्ट तयार करा (10 च्या बरोबरीचे Integer )Integer Integer |
हा ऐवजी अवजड कोड आहे, तुम्हाला वाटत नाही का?
Java च्या निर्मात्यांना असे वाटले, म्हणून त्यांनी कंपाइलरला ही ऑपरेशन्स स्वयंचलितपणे कशी करायची हे शिकवले. int
a चे a मध्ये स्वयंचलित रूपांतरास ऑटोबॉक्सिंगInteger
म्हणतात (स्वयंचलितपणे मूल्य बॉक्समध्ये टाकणे), आणि उलट ऑपरेशन (अन मध्ये रूपांतरित करणे) अनबॉक्सिंग म्हणतात .Integer
int
तुमचा कोड | संकलक काय पाहतो |
---|---|
|
|
|
|
|
|
ऑटोबॉक्सिंग आणि अनबॉक्सिंगबद्दल धन्यवाद, तुम्ही व्हेरिएबलला सुरक्षितपणे नियुक्त करू शकता int
आणि Integer
त्याउलट. int
तुम्ही आणि प्रकारांमध्ये फरक न करता कोणत्याही जटिलतेची अभिव्यक्ती लिहू शकता Integer
.
उदाहरणे:
कोड | कंपाइलर काय व्युत्पन्न करेल |
---|---|
|
|
|
|
4. रॅपर व्हेरिएबल्सची तुलना करणे
ऑटोबॉक्सिंग आणि अनबॉक्सिंग या सोप्या आणि पारदर्शक प्रक्रिया आहेत. आम्ही new Integer()
आवश्यकतेनुसार विधाने वापरतो आणि intValue()
आवश्यकतेनुसार पद्धत म्हणतो.
सर्व काही आपल्यासाठी छान आणि सोपे कार्य करते, प्रोग्रामर. लक्षात ठेवा की जर तुम्ही an Integer
आणि an ची तुलना केली Integer
तर तुलना ही मूल्यांवर आधारित नसून संदर्भावर आधारित आहे.
कोड | कन्सोल आउटपुट |
---|---|
|
|
|
|
a
आणि व्हेरिएबल्स मूल्ये b
साठवत नाहीत int
. ते वस्तूंचे संदर्भ साठवतात. याचा अर्थ त्यांची योग्यरित्या तुलना कशी करायची हे लक्षात ठेवणे महत्वाचे आहे:
चुकीचे | बरोबर |
---|---|
|
|
GO TO FULL VERSION