Rumah >Java >javaTutorial >Mengapakah `toString()` Gagal Menukar Tatasusunan kepada Rentetan Boleh Dibaca Manusia di Jawa?

Mengapakah `toString()` Gagal Menukar Tatasusunan kepada Rentetan Boleh Dibaca Manusia di Jawa?

Linda Hamilton
Linda Hamiltonasal
2024-11-16 04:37:03627semak imbas

Why Does `toString()` Fail to Convert Arrays to Human-Readable Strings in Java?

Mengapa Kaedah toString() Terpendek untuk Array

Di Java, kaedah toString() ialah alat mudah untuk menukar objek menjadi perwakilan rentetan yang boleh dibaca manusia. Walau bagaimanapun, ia boleh berkelakuan aneh apabila digunakan pada tatasusunan.

Isunya:

Apabila cuba menukar tatasusunan aksara kepada rentetan menggunakan toString(), Java tidak menyediakan output yang diharapkan. Sebaliknya, ia menghasilkan rentetan mengelirukan yang mengandungi kurungan, aksara yang mewakili jenis elemen tatasusunan ("C" untuk aksara) dan kod cincang berangka ("[C@e53108").

Penjelasan :

Pelaksanaan toString() lalai Java untuk tatasusunan direka untuk mengembalikan jenis tatasusunan dan "kod cincang identiti", yang merupakan pengecam unik untuk objek tatasusunan dalam ingatan. Maklumat ini berguna terutamanya untuk tujuan penyahpepijatan dan bukan bertujuan untuk kegunaan manusia.

Penyelesaian:

Untuk mendapatkan perwakilan tatasusunan yang boleh dibaca manusia, Java menyediakan kaedah alternatif yang dipanggil Arrays.toString(). Kaedah ini menukarkan elemen tatasusunan kepada rentetan yang dipisahkan koma, memberikan output yang lebih mudah diakses.

Dalam kod contoh, pengubahsuaian berikut menyelesaikan isu:

System.out.println(Arrays.toString(Array));

Dengan menggunakan Tatasusunan. toString(), output kini dengan betul mengembalikan "abcdef," seperti yang dijangkakan, tanpa sebarang omong kosong.

Satu Kesilapan Sejarah?

Gelagat toString() lalai Java untuk tatasusunan sering dikritik sebagai "kesilapan", kerana ia boleh mengelirukan dan tidak intuitif. Sesetengah pembangun berpendapat bahawa ia sepatutnya mengembalikan elemen tatasusunan dengan cara yang lebih bermakna secara lalai, serupa dengan Arrays.toString().

Atas ialah kandungan terperinci Mengapakah `toString()` Gagal Menukar Tatasusunan kepada Rentetan Boleh Dibaca Manusia di Jawa?. 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