इस ट्यूटोरियल में, हम उदाहरणों की मदद से जावा रैपर क्लास के बारे में जानेंगे।
जावा में आवरण वर्गों आदिम प्रकार (परिवर्तित करने के लिए उपयोग किया जाता है int
, char
, float
इसी वस्तुओं में, आदि)।
8 आदिम प्रकारों में से प्रत्येक में संबंधित आवरण वर्ग होते हैं।
आदिम प्रकार | रैपर क्लास |
---|---|
byte | Byte |
boolean | Boolean |
char | Character |
double | Double |
float | Float |
int | Integer |
long | Long |
short | Short |
कन्वर्ट करने के लिए आदिम प्रकार आवरण वस्तुओं के लिए
हम valueOf()
आदिम प्रकारों को संबंधित वस्तुओं में बदलने के लिए भी विधि का उपयोग कर सकते हैं।
उदाहरण 1: आवरण की वस्तुओं के लिए आदिम प्रकार
class Main ( public static void main(String() args) ( // create primitive types int a = 5; double b = 5.65; //converts into wrapper objects Integer aObj = Integer.valueOf(a); Double bObj = Double.valueOf(b); if(aObj instanceof Integer) ( System.out.println("An object of Integer is created."); ) if(bObj instanceof Double) ( System.out.println("An object of Double is created."); ) ) )
आउटपुट
इंटेगर का एक ऑब्जेक्ट बनाया गया है। डबल का ऑब्जेक्ट बनाया जाता है।
उपरोक्त उदाहरण में, हमने valueOf()
आदिम प्रकारों को वस्तुओं में बदलने के लिए विधि का उपयोग किया है।
यहाँ, हम इस्तेमाल किया है instanceof
की जाँच करने के लिए कि क्या उत्पन्न वस्तुओं के हैं ऑपरेटर Integer
या Double
या टाइप नहीं।
हालांकि, जावा कंपाइलर आदिम प्रकारों को सीधे संबंधित वस्तुओं में बदल सकता है। उदाहरण के लिए,
int a = 5; // converts into object Integer aObj = a; double b = 5.6; // converts into object Double bObj = b;
इस प्रक्रिया को ऑटो-बॉक्सिंग के रूप में जाना जाता है । अधिक जानने के लिए, जावा ऑटोबॉक्सिंग और अनबॉक्सिंग पर जाएं।
नोट : हम Wrapper
वर्ग निर्माणकर्ताओं का उपयोग करके आदिम प्रकारों को रैपर वस्तुओं में भी बदल सकते हैं । लेकिन जावा 9 के बाद कंस्ट्रक्टर्स का उपयोग छोड़ दिया गया है।
आदिम प्रकारों में आवरण वस्तुएँ
आदिम प्रकार में वस्तुओं बदलने के लिए, हम इसी मूल्य तरीकों का उपयोग कर सकते हैं ( intValue()
, doubleValue()
, आदि) प्रत्येक आवरण वर्ग में मौजूद।
उदाहरण 2: आवरण वस्तुएं आदिम प्रकारों में
class Main ( public static void main(String() args) ( // creates objects of wrapper class Integer aObj = Integer.valueOf(23); Double bObj = Double.valueOf(5.55); // converts into primitive types int a = aObj.intValue(); double b = bObj.doubleValue(); System.out.println("The value of a: " + a); System.out.println("The value of b: " + b); ) )
आउटपुट
A: 23 का मान b: 5.55 का मान है
उपरोक्त उदाहरण में, हमने और वस्तुओं को इसी आदिम प्रकार में परिवर्तित करने के लिए intValue()
और doubleValue()
विधि का उपयोग किया है ।Integer
Double
हालाँकि, जावा कंपाइलर स्वचालित रूप से वस्तुओं को संबंधित आदिम प्रकारों में बदल सकता है। उदाहरण के लिए,
Integer aObj = Integer.valueOf(2); // converts into int type int a = aObj; Double bObj = Double.valueOf(5.55); // converts into double type double b = bObj;
इस प्रक्रिया को अनबॉक्सिंग के रूप में जाना जाता है । अधिक जानने के लिए, जावा ऑटोबॉक्सिंग और अनबॉक्सिंग पर जाएं।
रैपर क्लासेस के फायदे
- जावा में, कभी-कभी हमें आदिम डेटा प्रकारों के बजाय वस्तुओं का उपयोग करने की आवश्यकता हो सकती है। उदाहरण के लिए, संग्रह के साथ काम करते समय।
// error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
- हम आवरण वस्तुओं में शून्य मान को संग्रहीत कर सकते हैं। उदाहरण के लिए,
// generates an error int a = null; // runs perfectly Integer a = null;
नोट : आदिम प्रकार संबंधित वस्तुओं की तुलना में अधिक कुशल हैं। इसलिए, जब दक्षता की आवश्यकता होती है, तो यह हमेशा आदिम प्रकारों की सिफारिश की जाती है।