Der effizienteste Weg, es zu tun, ist höchstwahrscheinlich die:
Character[] chars = ...
StringBuilder sb = new StringBuilder(chars.length);
for (Character c : chars)
sb.append(c.charValue());
String str = sb.toString();
Hinweise:
- eine Verwendung StringBuilder vermeidet das Erstellen mehrerer Zwischenzeichenfolgen.
- Die Bereitstellung der ursprünglichen Größe vermeidet Neuzuweisungen.
charValue()
Verwendung vermeidet Character.toString()
Aufruf ...
Allerdings würde ich mit @ gehen wahrscheinlich Torious eleganten Antwort, es sei denn Leistung ein wichtiges Thema war.
übrigens sagt die JLS, dass die Compiler String Verkettung Ausdrücke äquivalent String Code zu optimieren erlaubt ist ... aber es sanktioniert nicht, dass die Optimierung über mehrere Aussagen.Deshalb etwas wie folgt aus:
String s = ""
for (Character c : chars) {
s += c;
}
wahrscheinlich viele getrennte Verkettungen zu tun, (und Verwerfen) viele Zwischen Saiten zu schaffen.
oben arbeitet an char [] :) –