Heim > Java > javaLernprogramm > Warum erzeugt „Array.toString()' eine unerwartete Ausgabe für Zeichenarrays in Java?

Warum erzeugt „Array.toString()' eine unerwartete Ausgabe für Zeichenarrays in Java?

DDD
Freigeben: 2024-11-24 05:25:10
Original
998 Leute haben es durchsucht

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

Unerwartete Ausgabe von Array.toString()

In Java wird die toString()-Methode häufig verwendet, um ein Array in ein menschliches Array umzuwandeln -lesbare String-Darstellung. Im Fall von Zeichenarrays generiert die standardmäßige toString()-Implementierung jedoch eine unerwartete Ausgabe, die als zufällige Folge von Zeichen erscheint.

Dieses Problem tritt auf, weil die für Arrays implementierte standardmäßige toString()-Methode die zurückgibt Identitäts-Hash-Code des Arrays, gekennzeichnet durch „[C@gefolgt von einer Hexadezimalzahl. Diese Darstellung ist für Debugging-Zwecke nützlich, aber nicht für Menschen Verbrauch.

Lösung: Verwenden von Arrays.toString()

Um eine für Menschen lesbare Zeichenfolgendarstellung eines Zeichenarrays zu erhalten, müssen Sie Arrays.toString( )-Methode verarbeitet stattdessen speziell Zeichenarrays und konvertiert sie in eine Zeichenfolge, die alle Zeichen innerhalb des Arrays enthält.

Unten finden Sie einen aktualisierten Codeausschnitt das zeigt, wie man Arrays.toString() verwendet:

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));
    }
}
Nach dem Login kopieren

Dieser Code gibt die erwartete Ausgabe aus: „abcdef“.

Erklärung

Die Methode Arrays.toString() wurde speziell für die Verarbeitung von Arrays verschiedener Typen, einschließlich Zeichenarrays, entwickelt. Es durchläuft das Array und hängt jedes Zeichen an die resultierende Zeichenfolge an. Dieser Prozess führt zu einer für Menschen lesbaren Zeichenfolgendarstellung des Arrays.

Grund für das Standardverhalten

Die standardmäßige toString()-Implementierung für Arrays sollte eine prägnante Darstellung bieten Darstellung des Arrays für Debugging-Zwecke. Durch die Anzeige des Identitäts-Hash-Codes können Entwickler schnell den Speicherort des Arrays identifizieren und es von anderen Arrays unterscheiden.

Diese Darstellung ist jedoch nicht praktikabel für die Anzeige des Array-Inhalts für Benutzer oder für Verwendung in Szenarien, in denen die Zeichenfolgendarstellung gelesen oder verarbeitet werden soll.

Das obige ist der detaillierte Inhalt vonWarum erzeugt „Array.toString()' eine unerwartete Ausgabe für Zeichenarrays in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage