Java: Pourquoi ne pas Autoboxing qui se passe ici?
-
21-09-2019 - |
Question
Cela me donne une erreur:
int[] l = new int[] {0, 2, 192, -1, 3, 9, 2, 2};
int[] l2 = new int[] {9001, 7, 21, 4, -3, 11, 10, 10};
int[] l3 = new int[] {5, 5, 5, 64, 21, 12, 13, 200};
Set<List<Integer>> lists = new HashSet<List<Integer>>();
lists.add(Arrays.asList(l));
Eclipse: La méthode
add(List<Integer>)
dans leSet<List<Integer>>
de type ne sont pas applicables pour les arguments (List<int[]>
)
Je pensais que int
était censé être autoboxed à Integer
?
La solution
Bien que int est autoboxed Integer, int [] n'Autoboxed Integer [].
Les tableaux ne sont pas mis en boîte, seulement les types eux-mêmes.
Voir ceci: Comment convertir int [] dans la liste
Autres conseils
Il AutoBox de
Integer i = 1
int ii = i;
Mais, vous essayez de convertir un tableau, et quand il tente de mettre un tableau de primitives comme un tableau d'objets qu'ils sont différents.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow