Jeśli zaznaczysz API dla List
zauważysz mówi:
Interface List<E>
Będąc interface
środkiem, nie można go utworzyć (nie new List()
jest to możliwe).
Jeśli sprawdzisz ten link, znajdziesz kilka class
es, które implementują List
:
Wszystkie znane klasy wdrożeniowe:
AbstractList
, AbstractSequentialList
, ArrayList
, AttributeList
, CopyOnWriteArrayList
, LinkedList
, RoleList
, RoleUnresolvedList
, Stack
,Vector
Można je utworzyć. Skorzystaj z ich linków, aby dowiedzieć się więcej na ich temat, IE: aby dowiedzieć się, który lepiej pasuje do twoich potrzeb.
3 najczęściej używane to:
List<String> supplierNames1 = new ArrayList<String>();
List<String> supplierNames2 = new LinkedList<String>();
List<String> supplierNames3 = new Vector<String>();
Premia:
Możesz także utworzyć instancję z wartościami, w łatwiejszy sposób, używając Arrays
class
:
List<String> supplierNames = Arrays.asList("sup1", "sup2", "sup3");
System.out.println(supplierNames.get(1));
Pamiętaj jednak, że nie możesz dodawać więcej elementów do tej listy, ponieważ jest to fixed-size
.
int[] a = {1,2,3}; System.out.println(Arrays.asList(a)); // [[I@70cdd2]