Die String-Verkettung mit concat-operator (+) oder String.format () - Methode
Welches wird die bessere Nutzung für die Verkettung von String -
Wenn ich will erstellen Sie eine Zeichenfolge, die aus Haufen von string-Variablen wie str1 und str2,
welches wird besser ???
- String-Concat-operator
String str="This the String1 " + str1 + " merged with Sting2 " + str2;
- String-format-Methode
String str=String.format("This the String1 %s merged with Sting2 %s", str1 , str2);
Was ich denke, ist der zweite besser sein wird , denn zunächst wird man leiden, von der Erstellung der Menge von string.
mich korrigieren, wenn ich falsch bin ? und feedback auf das gleiche
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den ersten nicht tatsächlich schaffen jede zusätzliche Saiten. Es wird kompiliert in etwas wie:
Gegeben, dass die zweite form erfordert das Parsen der format-string, den ich wäre nicht überrascht, wenn der erste tatsächlich läuft schneller.
Jedoch, es sei denn, du hast die benchmarks beweisen, dass dies wirklich ein Stück code, das ausgeführt wird, zu langsam für Sie, Sie sollten nicht allzu besorgt über die Effizienz. Sie sollten mehr sorgen um die Lesbarkeit zu verbessern. Die Codes finden Sie leichter lesbar?
Wird das erste nicht leiden, von der Erstellung des Strings. Da alles statisch ist, einen einzelnen StringBuilder erstellt, alle Teile sind angehängt, und dann toString aufgerufen wird. Es wird etwas effizienter als das zweite, die zum Parsen der format-string. Aber das ist wahrscheinlich nicht, wo Sie verlieren oder gewinnen viel Leistung.
Verkettung von Strings erzeugt viele temporäre Objekte, wenn Sie tun es in einer Schleife:
Dadurch wird ein StringBuilder-und ein String-Objekt bei jedem Durchlauf.
Hängt es von der Anzahl der Zeichenfolgen, die Sie verketten. Für bis zu 5 (ish) wird es wahrscheinlich nicht egal.
Messen für Ihre besonderen Umstände, wenn Sie wirklich brauchen diese Optimierung.
folgenden links können Ihnen helfen.
Gibt es einen Unterschied zwischen String-concat-Funktion und den + - operator in Java?
http://www.devdaily.com/blog/post/java/use-string-format-java-string-output