หากคุณตรวจสอบAPIสำหรับListคุณจะสังเกตเห็นมันพูดว่า:
Interface List<E>
เป็นinterfaceวิธีที่ไม่สามารถยกตัวอย่าง (ไม่new List()เป็นไปได้)
หากคุณตรวจสอบลิงก์นั้นคุณจะพบว่ามีบางอย่างclassที่ใช้งานได้List:
คลาสการใช้งานที่รู้จักทั้งหมด:
AbstractList, AbstractSequentialList, ArrayList, AttributeList, CopyOnWriteArrayList, LinkedList, RoleList, RoleUnresolvedList, Stack,Vector
สิ่งเหล่านั้นสามารถถูกสร้างขึ้นมาได้ ใช้ลิงก์ของพวกเขาเพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับพวกเขา IE: เพื่อทราบว่าสิ่งใดเหมาะสมกับคุณมากกว่า
3 ตัวที่ใช้บ่อยที่สุดน่าจะเป็น:
List<String> supplierNames1 = new ArrayList<String>();
List<String> supplierNames2 = new LinkedList<String>();
List<String> supplierNames3 = new Vector<String>();
โบนัส:
นอกจากนี้คุณยังสามารถสร้างอินสแตนซ์ด้วยค่าในวิธีที่ง่ายขึ้นโดยใช้เครื่องหมายArrays classดังนี้:
List<String> supplierNames = Arrays.asList("sup1", "sup2", "sup3");
System.out.println(supplierNames.get(1));
แต่โปรดทราบว่าคุณไม่ได้รับอนุญาตให้เพิ่มองค์ประกอบเข้าไปในรายการดังfixed-sizeกล่าว
int[] a = {1,2,3}; System.out.println(Arrays.asList(a)); // [[I@70cdd2]