जेनेरिक कलेक्शंस को जावा 5 वर्जन में पेश किया गया था। जेनेरिक कलेक्शंस टाइप-कास्टिंग को अक्षम करते हैं और जेनेरिक्स में उपयोग किए जाने पर टाइप-कास्टिंग की कोई आवश्यकता नहीं होती। जेनेरिक कलेक्शंस टाइप-सेफ हैं और कंपाइल-टाइम पर चेक किए जाते हैं। ये जेनेरिक कलेक्शंस डेटा टाइप्स को क्लासेस में पैरामीटर के रूप में पास करने की अनुमति देते हैं। कंपाइलर टाइप्स की कंपैटिबिलिटी की जांच करने के लिए जिम्मेदार होता है।
सिंटैक्स
class<type>, interface<type>
टाइप सेफ्टी
जेनेरिक्स ऑब्जेक्ट के एक ही प्रकार की अनुमति देता है।
List list = new ArrayList(); // जेनेरिक्स से पहले
list.add(10);
list.add("100");
List<Integer> list1 = new ArrayList<Integer>(); // जेनेरिक्स जोड़ना
list1.add(10);
list1.add("100"); // कंपाइल-टाइम एरर।
टाइप कास्टिंग
जेनेरिक्स का उपयोग करते समय टाइप-कास्टिंग की आवश्यकता नहीं होती।
List<String> list = new ArrayList<String>();
list.add("Adithya");
String str = list.get(0); // टाइप-कास्टिंग की आवश्यकता नहीं
कंपाइल-टाइम
जेनेरिक्स में त्रुटियों की जांच कंपाइल-टाइम पर की जाती है।
List list = new ArrayList(); // जेनेरिक्स से पहले
list.add(10);
list.add("100");
List<Integer> list1 = new ArrayList<Integer>(); // जेनेरिक्स जोड़ना
list1.add(10);
list1.add("100");// कंपाइल-टाइम एरर