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 `` ?
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 `` ?
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
.
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 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.