หากคุณตรวจสอบ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]