Rumah > Java > javaTutorial > teks badan

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

Linda Hamilton
Lepaskan: 2024-10-28 11:33:02
asal
910 orang telah melayarinya

 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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!