Impression des éléments d'une liste en Java : surmonter l'affichage du pointeur d'objet
En Java, récupérer et imprimer les éléments d'une liste peut présenter des défis , conduisant à l'affichage de pointeurs d'objet au lieu des valeurs souhaitées. Ce problème peut survenir lorsque l'impression de code utilise la syntaxe System.out.println(list.get(i)).
Pour résoudre ce problème, comprenez que les méthodes d'impression Java utilisent généralement par défaut l'impression de références d'objet (pointeurs). Pour obtenir les valeurs réelles, il est crucial que les objets de la liste implémentent une méthode toString() personnalisée qui remplace l'implémentation par défaut. Cette méthode doit renvoyer la représentation sous forme de chaîne appropriée de la valeur de l'objet.
Solution :
Une solution efficace pour imprimer les éléments d'une liste consiste à utiliser Arrays.toString( list.toArray()). Cette syntaxe combine la méthode list.toArray(), qui convertit la liste en tableau, avec la méthode Arrays.toString(), qui renvoie une représentation sous forme de chaîne du tableau. Cette approche appelle automatiquement les méthodes toString() personnalisées des objets du tableau, ce qui donne le résultat souhaité.
Exemple :
Considérons l'exemple suivant :
<code class="java">import java.util.ArrayList; import java.util.Arrays; public class ListPrinting { public static void main(String[] args) { // Create a List of integers List<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); numbers.add(3); // Attempt to print the List elements using the default syntax for (int i = 0; i < numbers.size(); i++) { System.out.println(numbers.get(i)); } // Print the List elements using Arrays.toString() System.out.println(Arrays.toString(numbers.toArray())); } }</code>
Dans cet exemple, la première boucle for imprime les pointeurs d'objet des objets Integer dans la liste, tandis que la deuxième ligne imprime les valeurs réelles, "[1, 2, 3]". Cela démontre l'efficacité de l'utilisation de l'approche Arrays.toString().
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!