Maison  >  Article  >  Java  >  Comment imprimer les éléments d’une liste Java sans afficher les pointeurs d’objet ?

Comment imprimer les éléments d’une liste Java sans afficher les pointeurs d’objet ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-26 01:14:02422parcourir

How to Print the Elements of a Java List Without Showing Object Pointers?

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!

Déclaration:
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