new ArrayList<int>() à défaut en Java
J'ai le code suivant:
List<int> intList = new ArrayList<int>();
for (int index = 0; index < ints.length; index++)
{
intList.add(ints[index]);
}
Il me donne une erreur...
Syntax error on token "int", Dimensions expected after this token
L'erreur se produit sur la ligne de départ avec List
. Quelqu'un peut m'expliquer pourquoi j'obtiens l'erreur?
InformationsquelleAutor Alan2 | 2012-06-17
Vous devez vous connecter pour publier un commentaire.
Génériques en Java sont non applicable à types primitifs comme dans
int
. Vous devriez probablement utiliser types wrapper commeInteger
:Et, pour accéder à un
List
, vous devez utiliserints.get(index)
.Vous ne pouvez utiliser qu'un type d'Objet à l'intérieur de la
<>
section, tandis que vous essayez d'utiliser un type primitif. Essayez ceci...Vous avez alors besoin d'accéder aux valeurs à l'aide de
intList.get(index)
etintList.set(index,value)
(et aussiintList.add(value)
que vous êtes en train de faire)vous devez utiliser des Entiers à la place de int parce que les listes nécessite pas d'objet de type primitif. mais u peut encore ajouter un élément de type int à votre liste d'Entiers
Vous pouvez utiliser les primitives de collections disponibles dans Eclipse Collections. Eclipse Collections a
List
,Set
,Bag
etMap
pour toutes les primitives. Les éléments de la primitive collections sont maintenues comme primitives et pas de la boxe a lieu.Vous pouvez initialiser un IntList comme ceci:
Remarque: je suis un contributeur à Eclipse Collections.