Ich habe ein char-Array:
char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
Meine derzeitige Lösung sieht so aus
String b = new String(a);
Aber es gibt doch sicher einen besseren Weg, dies zu tun?
Ich habe ein char-Array:
char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
Meine derzeitige Lösung sieht so aus
String b = new String(a);
Aber es gibt doch sicher einen besseren Weg, dies zu tun?
Nein, diese Lösung ist absolut richtig und sehr minimal.
Beachten Sie jedoch, dass dies eine sehr ungewöhnliche Situation ist: Denn String
wird in Java besonders behandelt, auch "foo"
ist eigentlich ein String
. Die Notwendigkeit der Aufteilung eines Strings in einzelne char
s und sie wieder zu verbinden, ist im normalen Code nicht erforderlich.
Vergleichen Sie dies mit C/C++, wo "foo"
haben Sie ein Bündel von char
s, die auf einer Seite mit einem Null-Byte abgeschlossen sind, und string
auf der anderen Seite und viele Umrechnungen zwischen ihnen aufgrund von Legacy-Methoden tun.
String str = "wwwwww3333dfevvv";
char[] c = str.toCharArray();
Für die Konvertierung einer Zeichenfolge in einen String gibt es zwei Möglichkeiten.
Arrays.toString(c);
Gibt die Zeichenkette [w, w, w, w, w, w, 3, 3, 3, 3, d, f, e, v, v, v]
.
Und:
String.valueOf(c)
Gibt die Zeichenkette wwwwww3333dfevvv
.
Zusammenfassung : achten Sie auf Arrays.toString(c)
denn Sie erhalten "[w, w, w, w, w, w, 3, 3, 3, 3, d, f, e, v, v, v]"
anstelle von "wwwwww3333dfevvv"
.
Ein String in Java ist lediglich ein Objekt um ein Array von Zeichen. Daher ist ein
char[]
ist identisch mit einem unboxed String mit denselben Zeichen. Indem Sie einen neuen String aus Ihrem Array von Zeichen erstellen
new String(char[])
weisen Sie den Compiler im Wesentlichen an, ein String-Objekt um Ihr Array von Zeichen herum zu koppeln.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.