Rumah  >  Artikel  >  Java  >  Bagaimana untuk menghalang Java daripada mencetak penunjuk objek apabila melelaran melalui senarai?

Bagaimana untuk menghalang Java daripada mencetak penunjuk objek apabila melelaran melalui senarai?

Linda Hamilton
Linda Hamiltonasal
2024-10-28 11:33:02900semak imbas

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

Mencetak Elemen Senarai dalam Java

Apabila cuba mencetak elemen senarai dalam Java, adalah perkara biasa untuk menemui penunjuk objek pencetakan bukannya nilai yang dimaksudkan. Ini disebabkan terutamanya oleh penggunaan System.out.println(list.get(i));.

Memahami Isu

Kaedah get(i) dalam Senarai mengembalikan rujukan kepada objek pada indeks i. Ini bukan nilai objek itu sendiri. Sebaliknya, ia mewakili lokasi objek dalam ingatan. Apabila dihantar ke System.out.println(), tingkah laku lalai adalah untuk mencetak perwakilan toString() objek, yang selalunya mengakibatkan paparan alamat memori atau penuding objek.

Resolusi

Untuk mencetak nilai sebenar objek, terdapat beberapa pendekatan:

Kaedah Arrays.toString():

Kaedah ini menukar tatasusunan perwakilan senarai ke dalam rentetan, yang kemudiannya boleh dicetak dengan mudah:

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

toString() Override:

Sebagai alternatif, pertimbangkan untuk mengatasi kaedah toString() untuk objek anda memberikan perwakilan rentetan yang bermakna. Ini memastikan bahawa System.out.println(list.get(i)); mencetak secara langsung nilai yang dikehendaki:

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

Dengan menggunakan teknik ini, anda boleh mencetak nilai elemen senarai dalam Java dengan berkesan, memberikan kejelasan dan kemudahan nyahpepijat.

Atas ialah kandungan terperinci Bagaimana untuk menghalang Java daripada mencetak penunjuk objek apabila melelaran melalui senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn