ホームページ  >  記事  >  Java  >  リストを反復処理するときに Java がオブジェクト ポインターを出力しないようにするにはどうすればよいですか?

リストを反復処理するときに Java がオブジェクト ポインターを出力しないようにするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-28 11:33:02900ブラウズ

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

Java でリストの要素を出力する

Java でリストの要素を出力しようとすると、オブジェクト ポインタの出力が発生することがよくあります意図した値の代わりに。これは主に System.out.println(list.get(i)); の使用によるものです。

問題の理解

get(i) メソッドin List は、インデックス i のオブジェクトへの参照を返します。これはオブジェクトの値そのものではありません。代わりに、メモリ内のオブジェクトの位置を表します。 System.out.println() に渡されると、デフォルトの動作ではオブジェクトの toString() 表現が印刷され、多くの場合、オブジェクトのメモリ アドレスまたはポインタが表示されます。

Resolution

オブジェクトの実際の値を出力するには、いくつかの方法があります:

Arrays.toString() メソッド:

このメソッドは配列を変換しますリストを文字列に表現し、簡単に出力できます:

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

toString() オーバーライド:

または、toString() メソッドをオーバーライドすることを検討してください。オブジェクトが意味のある文字列表現を提供できるようにします。これにより、 System.out.println(list.get(i)); が保証されます。必要な値を直接出力します:

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

これらの手法を使用すると、Java でリスト要素の値を効果的に出力でき、明確さとデバッグの容易さが実現します。

以上がリストを反復処理するときに Java がオブジェクト ポインターを出力しないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。