एक वैपर क्लास एक क्लास है जिसमें प्रिमिटिव डेटा टाइप्स (int, char, short, byte, आदि) होते हैं। दूसरे शब्दों में, वैपर क्लासेस प्रिमिटिव डेटा टाइप्स (int, char, short, byte, आदि) को ऑब्जेक्ट्स के रूप में उपयोग करने का तरीका प्रदान करती हैं। ये वैपर क्लासेस java.util पैकेज के अंतर्गत आती हैं।
हमें वैपर क्लास की आवश्यकता क्यों है
- वैपर क्लास प्रिमिटिव डेटा टाइप्स को ऑब्जेक्ट्स में कन्वर्ट करेगी. ऑब्जेक्ट्स आवश्यक हैं यदि हम मेथड में पास किए गए आर्गुमेंट्स को संशोधित करना चाहते हैं (क्योंकि प्रिमिटिव टाइप्स वैल्यू द्वारा पास किए जाते हैं)।
- java.util पैकेज में क्लासेस केवल ऑब्जेक्ट्स को हैंडल करती हैं और इसलिए वैपर क्लासेस इस मामले में भी मदद करती हैं।
- कलेक्शन फ्रेमवर्क में डेटा स्ट्रक्चर्स जैसे ArrayList और Vector केवल ऑब्जेक्ट्स (रेफरेंस टाइप्स) स्टोर करते हैं न कि प्रिमिटिव टाइप्स।
- मल्टीथ्रेडिंग में सिंक्रोनाइज़ेशन को सपोर्ट करने के लिए ऑब्जेक्ट की आवश्यकता होती है।
Java में वैपर क्लास का कार्यान्वयन
वैपर क्लास में ऑटोबॉक्सिंग
ऑटोबॉक्सिंग का उपयोग प्रिमिटिव डेटा टाइप्स को संबंधित ऑब्जेक्ट्स में कन्वर्ट करने के लिए किया जाता है।
उदाहरण
public class AutoBoxingTest {
public static void main(String args[]) {
int num = 10; // int प्रिमिटिव
Integer obj = Integer.valueOf(num); // वैपर क्लास ऑब्जेक्ट बनाना
System.out.println(num + " " + obj);
}
}
आउटपुट
10 10
वैपर क्लास में अनबॉक्सिंग
अनबॉक्सिंग का उपयोग वैपर क्लास ऑब्जेक्ट को संबंधित प्रिमिटिव डेटा टाइप्स में कन्वर्ट करने के लिए किया जाता है।
उदाहरण
public class UnboxingTest {
public static void main(String args[]) {
Integer obj = new Integer(10); // वैपर क्लास ऑब्जेक्ट बनाना
int num = obj.intValue(); // वैपर ऑब्जेक्ट को प्रिमिटिव डेटाटाइप में कन्वर्ट करना
System.out.println(num + " " + obj);
}
}
आउटपुट
10 10
नोट: Java 5 से ऑटोबॉक्सिंग/अनबॉक्सिंग स्वचालित है: Integer obj = 10; (ऑटोबॉक्सिंग) और int num = obj; (अनबॉक्सिंग)।