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!