Javas ungewöhnliches „ToString()“ für Arrays
In Java wird erwartet, dass die toString()-Methode eine nützliche, für Menschen lesbare Methode bereitstellt String-Darstellung eines Objekts. Beim Umgang mit Arrays gilt diese Erwartung jedoch nicht.
Die Besonderheit von Arrays ToString()
Bedenken Sie den folgenden Code:
char[] Array = {'a', 'b', 'c', 'd', 'e', 'f'}; System.out.println(Array.toString());
Anstatt die erwartete Zeichenfolge „abcdef“ zurückzugeben, gibt dieser Code Kauderwelsch wie „[C@6e1408“ oder „[C@e53108““ aus.
Dieses Verhalten entsteht, weil Javas standardmäßige toString()-Implementierung für Arrays erzeugt eine kryptische Zeichenfolge mit:
Die Lösung
Um eine für Menschen lesbare Zeichenfolgendarstellung eines Arrays zu erhalten, verwenden Sie die stattdessen die statische Arrays.toString()-Methode:
System.out.println(Arrays.toString(Array));
Diese Methode gibt explizit die gewünschte „abcdef“-Zeichenfolge zurück.
Die Begründung
Java Die Entscheidung, eine kryptische toString()-Implementierung für Arrays zu verwenden, wird oft als Fehler angesehen. Die Absicht hinter diesem Design bestand wahrscheinlich darin, Speicheradressen beim Debuggen zu priorisieren, aber es hat sich im täglichen Gebrauch als eher verwirrend als hilfreich erwiesen.
Das obige ist der detaillierte Inhalt vonWarum erzeugt die Methode „toString()“ von Java eine kryptische Ausgabe für Arrays?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!