J'ai le code suivant:
List<int> intList = new ArrayList<int>();
for (int index = 0; index < ints.length; index++)
{
intList.add(ints[index]);
}
Cela me donne une erreur ...
Syntax error on token "int", Dimensions expected after this token
L'erreur se produit sur la ligne commençant par List
. Quelqu'un peut-il expliquer pourquoi j'obtiens l'erreur?
Les génériques dans Java sont sans objet à les types primitifs comme dans int
. Vous devriez probablement utiliser types de wrapper comme Integer
:
List<Integer> ints = ...
Et, pour accéder à List
, vous devez utiliser ints.get(index)
.
Vous ne pouvez utiliser qu'un type d'objet dans la section <>
, Tandis que vous essayez d'utiliser un type primitif. Essaye ça...
List<Integer> intList = new ArrayList<Integer>();
Vous devez ensuite accéder aux valeurs à l'aide de intList.get(index)
et intList.set(index,value)
(et également intList.add(value)
comme vous essayez de le faire)
vous devez utiliser Integer au lieu de int car les listes nécessitent des types d'objet et non des types primitifs. mais vous pouvez toujours ajouter un élément de type int à votre liste d'entiers
Vous pouvez utiliser les collections primitives disponibles dans Collections Eclipse . Eclipse Collections a List
, Set
, Bag
et Map
pour toutes les primitives. Les éléments des collections primitives sont conservés en tant que primitifs et aucune boxe n'a lieu.
Vous pouvez initialiser un IntList comme ceci:
MutableIntList intList = IntLists.mutable.empty();
Remarque: je suis un contributeur aux collections Eclipse.