Maison  >  Article  >  Java  >  Comment empêcher Java d'imprimer des pointeurs d'objet lors d'une itération dans une liste ?

Comment empêcher Java d'imprimer des pointeurs d'objet lors d'une itération dans une liste ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-28 11:33:02900parcourir

 How to prevent Java from printing object pointers when iterating through a list?

Impression d'éléments d'une liste en Java

Lorsque vous essayez d'imprimer des éléments d'une liste en Java, il est courant de rencontrer des pointeurs d'objet d'impression au lieu des valeurs prévues. Cela est principalement dû à l'utilisation de System.out.println(list.get(i));.

Comprendre le problème

La méthode get(i) in List renvoie la référence à l'objet à l'index i. Ce n'est pas la valeur de l'objet lui-même. Au lieu de cela, il représente l'emplacement de l'objet en mémoire. Lorsqu'il est transmis à System.out.println(), le comportement par défaut est d'imprimer la représentation toString() de l'objet, ce qui entraîne souvent l'affichage de l'adresse mémoire ou du pointeur de l'objet.

Résolution

Pour imprimer les valeurs réelles des objets, il existe plusieurs approches :

Méthode Arrays.toString() :

Cette méthode convertit un tableau représentation d'une liste dans une chaîne, qui peut ensuite être imprimée facilement :

<code class="java">System.out.println(Arrays.toString(list.toArray()));</code>

toString() Override :

Vous pouvez également envisager de remplacer la méthode toString() pour que vos objets fournissent des représentations sous forme de chaîne significatives. Cela garantit que System.out.println(list.get(i)); imprime directement la valeur souhaitée :

<code class="java">@Override
public String toString() {
    return "Your custom string representation";
}</code>

En utilisant ces techniques, vous pouvez imprimer efficacement les valeurs des éléments de liste en Java, offrant clarté et facilité de débogage.

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