456 votes

Comment initialiser la liste<String> objet en Java ?</String>

Je ne peux pas initialiser une liste comme dans le code suivant :

Je fais face à l’erreur suivante :

Impossible d’instancier le type``

Comment je peux instancier `` ?

802voto

J.A.I.L. Points 1721

Si vous cochez l' API pour List http://docs.oracle.com/javase/6/docs/api/java/util/List.html vous remarquerez qu'il dit:

Interface List<E>

Étant un interface signifie qu'il ne peut pas être instanciée (non new List() est possible).

Si vous consultez ce lien, vous trouverez quelques - classes qui implémentent List:

Tous Connus De La Mise En Œuvre De Classes:

AbstractList, AbstractSequentialList, ArrayList, AttributeList, CopyOnWriteArrayList, LinkedList, RoleList, RoleUnresolvedList, Stack, Vector

Ceux-ci peuvent être instanciés. Utilisez les liens pour en savoir plus sur eux, I. E: pour savoir ce qui correspond le mieux à vos besoins.

Les 3 plus communément ceux sont probablement:

 List<String> supplierNames1 = new ArrayList<String>();
 List<String> supplierNames2 = new LinkedList<String>();
 List<String> supplierNames3 = new Vector<String>();

Bonus: Vous pouvez également l'instancier avec des valeurs, dans une voie plus facile, à l'aide de l' Arrays class, comme suit:

List<String> supplierNames = Arrays.asList("sup1", "sup2", "sup3");
System.out.println(supplierNames.get(1));

Mais notez que vous n'êtes pas autorisé à ajouter d'autres éléments à cette liste, comme c'est fixed-size.

40voto

From Oiyl Points 176

Liste est une INTERFACE, vous ne pouvez pas initialiser une Interface, c’est correct :

16voto

Ofir Farchy Points 1674

Vous ne devrez pas utiliser `` ou tel.

``est une interface.

Utiliser ceci :

13voto

Ankit Points 1054

Liste est une interface, et vous ne pouvez pas initialiser une interface. Instancier une classe d’implémentation à la place.

Comme :

9voto

Jakub Zaverka Points 5909

La liste est juste une interface, une définition d’une liste générique. Vous devez fournir une implémentation de cette interface de la liste. Deux plus courante sont :

ArrayList - une liste de mises en œuvre sur un tableau

LinkedList - une liste implémentée comme une chaîne interconnectée des éléments

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X