Rumah > Java > javaTutorial > Mengapakah `Array.toString()` Menghasilkan Output Tidak Dijangka untuk Tatasusunan Aksara di Jawa?

Mengapakah `Array.toString()` Menghasilkan Output Tidak Dijangka untuk Tatasusunan Aksara di Jawa?

DDD
Lepaskan: 2024-11-24 05:25:10
asal
1046 orang telah melayarinya

Why Does `Array.toString()` Produce Unexpected Output for Character Arrays in Java?

Output Tidak Dijangka daripada Array.toString()

Di Java, kaedah toString() biasanya digunakan untuk menukar tatasusunan kepada manusia -perwakilan rentetan yang boleh dibaca. Walau bagaimanapun, dalam kes tatasusunan aksara, pelaksanaan lalai toString() menjana output yang tidak dijangka, yang muncul sebagai jujukan rawak aksara.

Isu ini timbul kerana kaedah lalai toString() yang dilaksanakan untuk tatasusunan mengembalikan kod cincang identiti tatasusunan, dilambangkan dengan "[C@diikuti dengan nombor heksadesimal. Perwakilan ini berguna untuk tujuan penyahpepijatan, tetapi bukan untuk manusia penggunaan.

Penyelesaian: Menggunakan Arrays.toString()

Untuk mendapatkan perwakilan rentetan yang boleh dibaca manusia bagi tatasusunan aksara, anda perlu menggunakan Arrays.toString( ) kaedah sebaliknya secara khusus mengendalikan tatasusunan aksara dan menukarnya kepada rentetan yang mengandungi semua aksara dalam tatasusunan.

Di bawah ialah coretan kod yang dikemas kini yang menunjukkan cara menggunakan Arrays.toString():

import java.util.Arrays;

class ToString {
    public static void main(String[] args) {
        char[] array = {'a', 'b', 'c', 'd', 'e', 'f'};
        System.out.println(Arrays.toString(array));
    }
}
Salin selepas log masuk

Kod ini akan mencetak output yang dijangkakan: "abcdef".

Penjelasan

Kaedah Arrays.toString() direka khusus untuk mengendalikan tatasusunan pelbagai jenis, termasuk tatasusunan aksara. Ia berulang melalui tatasusunan, menambahkan setiap aksara pada rentetan yang terhasil. Proses ini menghasilkan perwakilan rentetan yang boleh dibaca manusia bagi tatasusunan.

Sebab bagi Gelagat Lalai

Pelaksanaan toString() lalai untuk tatasusunan bertujuan untuk memberikan ringkasan perwakilan tatasusunan untuk tujuan nyahpepijat. Dengan memaparkan kod cincang identiti, ia membolehkan pembangun mengenal pasti lokasi memori tatasusunan dengan cepat dan membezakannya daripada tatasusunan lain.

Walau bagaimanapun, perwakilan ini tidak praktikal untuk memaparkan kandungan tatasusunan kepada pengguna atau untuk gunakan dalam senario di mana perwakilan rentetan bertujuan untuk dibaca atau diproses.

Atas ialah kandungan terperinci Mengapakah `Array.toString()` Menghasilkan Output Tidak Dijangka untuk Tatasusunan Aksara di Jawa?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan