Ich habe eine char
und ich brauche eine String
. Wie konvertiere ich von einem zum anderen?
java
string
char
type-conversion
Landon Kuhn
quelle
quelle
Antworten:
Sie können verwenden
Character.toString(char)
. Beachten Sie, dass diese Methode einfach einen Aufruf an zurückgibtString.valueOf(char)
, was ebenfalls funktioniert.Wie andere angemerkt haben, funktioniert die Verkettung von Zeichenfolgen auch als Verknüpfung:
Dies führt jedoch zu:
Dies ist weniger effizient, da das
StringBuilder
von einemchar[]
(überbelegt vonStringBuilder()
bis16
) unterstützt wird, nur damit dieses Array vom Ergebnis defensiv kopiert wirdString
.String.valueOf(char)
"Kommt in die Hintertür", indem Sie daschar
Array in ein Array mit einem Element einschließen und an den privaten Konstruktor des Pakets übergebenString(char[], boolean)
, wodurch die Array-Kopie vermieden wird.quelle
new StringBuilder("").append('s').toString();
Gute Frage. Ich habe die folgenden
fünf6 Methoden, um es zu tun.String.valueOf(char[] value)
ruft aufnew String(char[] value)
, wodurch wiederum dasvalue
char-Array festgelegt wird.String.valueOf(char value)
Ruft andererseits den folgenden privaten Paketkonstruktor auf.Der Quellcode von
String.java
in Java 8 Quellcodequelle
Im Folgenden finden Sie verschiedene Möglichkeiten zur Konvertierung in Zeichenfolge in Zeichenfolge (in absteigender Reihenfolge von Geschwindigkeit und Effizienz).
quelle
Verwenden Sie die
Character.toString()
Methode wie folgt:quelle
Verwenden Sie eine der folgenden Methoden:
quelle
Wie @WarFox sagte, gibt es 6 Methoden, um char in string zu konvertieren. Die schnellste wäre jedoch die Verkettung, obwohl die obigen Antworten besagen, dass dies der Fall ist
String.valueOf
. Hier ist ein Benchmark, der beweist, dass:Und Ergebnis:
Wie Sie sehen können, wäre der schnellste
c + ""
oder"" + c
;Dieser Leistungsunterschied ist auf die
-XX:+OptimizeStringConcat
Optimierung zurückzuführen. Sie können darüber lesen Sie hier .quelle
Versuchen Sie dies:
Character.toString(aChar)
oder nur das:aChar + ""
quelle
Wir haben verschiedene Möglichkeiten , zu konvertieren ein
char
zuString
. Eine Möglichkeit besteht darin, die statische MethodetoString()
in derCharacter
Klasse zu verwenden:Tatsächlich verwendet diese
toString
Methode intern einevalueOf
Methode aus einerString
Klasse, die ein char-Array verwendet:Der zweite Weg ist also, dies direkt zu verwenden:
Diese
valueOf
Methode in derString
Klasse verwendet das char-Array:Die dritte Möglichkeit besteht darin, ein anonymes Array zu verwenden, um ein einzelnes Zeichen zu verpacken und es dann an den
String
Konstruktor zu übergeben:Der vierte Weg besteht darin, die Verkettung zu nutzen:
Dies wird tatsächlich eine
append
Methode aus derStringBuilder
Klasse verwenden, die tatsächlich bevorzugt wird, wenn wir eine Verkettung in einer Schleife durchführen.quelle
Hier sind einige Methoden in keiner bestimmten Reihenfolge:
quelle
Ich konvertiere Char Array in String
quelle
Ich habe die Vorschläge ausprobiert, sie jedoch wie folgt umgesetzt
quelle