Generic Collections ถูกนำมาใช้ใน Java 5 Generic Collections ปิดใช้งานการแปลงชนิดข้อมูล (type-casting) ไม่ต้องใช้ type-casting เมื่อใช้ generics Generic collections เป็น type-safe และตรวจสอบที่ compile-time อนุญาตให้ส่งชนิดข้อมูลเป็นพารามิเตอร์ไปยังคลาส Compiler รับผิดชอบตรวจสอบ ความเข้ากันได้ของชนิดข้อมูล
ไวยากรณ์
class<type>, interface<type>
Type Safety
Generics อนุญาตให้มีชนิดวัตถุเดียว
List list = new ArrayList(); // before generics
list.add(10);
list.add("100");
List<Integer> list1 = new ArrayList<Integer>(); // adding generics
list1.add(10);
list1.add("100"); // compile-time error.
Type Casting
ไม่ต้องแปลงชนิดข้อมูลเมื่อใช้ generics
List<String> list = new ArrayList<String>();
list.add("Adithya");
String str = list.get(0); // no need of type-casting
Compile-time Checking
ข้อผิดพลาดถูกตรวจสอบที่ compile-time ใน generics
List list = new ArrayList(); // before generics
list.add(10);
list.add("100");
List<Integer> list1 = new ArrayList<Integer>(); // adding generics
list1.add(10);
list1.add("100");// compile-time error