Rumah >Java >javaTutorial >Mengapakah `toString()` Gagal Menukar Tatasusunan kepada Rentetan Boleh Dibaca Manusia di Jawa?
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!