Maison > Java > javaDidacticiel > Comment convertir correctement un tableau Java en ArrayList ?

Comment convertir correctement un tableau Java en ArrayList ?

Patricia Arquette
Libérer: 2024-12-14 05:01:15
original
224 Les gens l'ont consulté

How Do I Correctly Convert a Java Array to an ArrayList?

Conversion d'un tableau en ArrayList en Java

En Java, le processus de conversion d'un tableau en ArrayList peut parfois prêter à confusion, surtout si l'on considère les changements introduits dans Java SE 1.4.2. Cet article approfondit les subtilités de cette conversion, offrant une compréhension complète des options disponibles.

À l'origine, la méthode Arrays.asList() permettait de créer une ArrayList contenant les éléments d'un tableau. Cependant, ce comportement a été modifié dans Java SE 1.5.0, ce qui a conduit ArrayList à contenir le tableau lui-même.

Par exemple, considérez les extraits de code suivants :

Java SE 1.4 .2

int[] numbers = new int[] { 1, 2, 3 };
java.util.List<Integer> list = Arrays.asList(numbers);
Copier après la connexion

Java SE 1.5.0

int[] numbers = new Integer[] { 1, 2, 3 };
java.util.List<Integer> list = Arrays.asList(numbers);
Copier après la connexion

La différence notable réside dans le type d'ArrayList créé. Dans la version 1.4.2, list est une ArrayList contenant les valeurs entières 1, 2 et 3. Dans la version 1.5.0, list est une ArrayList contenant les numéros du tableau.

Cette distinction peut conduire à des résultats inattendus, tels que :

Assert.assertTrue(list.indexOf(4) == -1);
Copier après la connexion

Bien que cette affirmation soit vraie dans la version 1.4.2, elle échoue dans la version 1.5.0 car list contient désormais les numéros du tableau, pas les valeurs Integer.

Pour éviter de tels problèmes et obtenir une ArrayList de valeurs Integer, une solution consiste à utiliser la classe Integer qui encapsule le type int primitif :

Integer[] numbers = new Integer[] { 1, 2, 3 };
java.util.List<Integer> list = Arrays.asList(numbers);
Copier après la connexion

En utilisant la classe Integer, cette conversion crée une ArrayList contenant les valeurs Integer souhaitées.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal