Maison >Java >javaDidacticiel >Quelles sont les limitations de la méthode Arrays.asList() de Java et comment puis-je les surmonter lors de la conversion de tableaux primitifs en listes ?
Comprendre le comportement d'Arrays.asList() et ses limites
Lorsque vous travaillez avec des tableaux et des collections, il est courant de vouloir convertir un tableau en une liste pour une manipulation plus facile. La méthode Arrays.asList() de Java est souvent utilisée à cette fin. Cependant, il existe certains scénarios dans lesquels cette méthode peut ne pas se comporter comme prévu.
Pourquoi Arrays.asList() renvoie différentes listes
Considérez le code suivant :
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5); // Works int[] ints = {1, 2, 3, 4, 5}; List<Integer> list = Arrays.asList(ints); // Returns List<int[]>
Dans le premier exemple, Arrays.asList() renvoie un List
Limites de l'autoboxing
La fonctionnalité d'autoboxing de Java convertit automatiquement les types primitifs en leurs types wrapper correspondants (par exemple, int en Integer). Cependant, cette conversion n'a lieu que pour des éléments individuels, et non pour des tableaux de primitives. Par conséquent, lors du passage d'un int[] à Arrays.asList(), l'autoboxing n'a pas lieu et la méthode renvoie un List
Solutions
Pour corriger ce comportement et obtenir une liste
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!