Se você marcar a API para List
que você notará que diz:
Interface List<E>
Sendo um interface
meio, não pode ser instanciado (não new List()
é possível).
Se você verificar esse link, encontrará alguns class
es que implementam List
:
Todas as classes de implementação conhecidas:
AbstractList
, AbstractSequentialList
, ArrayList
, AttributeList
, CopyOnWriteArrayList
, LinkedList
, RoleList
, RoleUnresolvedList
, Stack
,Vector
Aqueles podem ser instanciados. Use os links deles para saber mais sobre eles, IE: para saber o que melhor se adapta às suas necessidades.
Os três mais usados provavelmente são:
List<String> supplierNames1 = new ArrayList<String>();
List<String> supplierNames2 = new LinkedList<String>();
List<String> supplierNames3 = new Vector<String>();
Bônus:
você também pode instancia-lo com valores, de maneira mais fácil, usando o Arrays
class
seguinte:
List<String> supplierNames = Arrays.asList("sup1", "sup2", "sup3");
System.out.println(supplierNames.get(1));
Mas observe que você não tem permissão para adicionar mais elementos a essa lista, como está fixed-size
.
int[] a = {1,2,3}; System.out.println(Arrays.asList(a)); // [[I@70cdd2]