Der Compiler wird es automatisch für jede String-Verkettung mit "+" verwenden.
Sie würden es normalerweise explizit verwenden, wenn Sie in einer Schleife verketten möchten. Zum Beispiel:
StringBuilder builder = new StringBuilder();
for (String name : names)
{
builder.append(name);
builder.append(", ");
}
if (builder.length() > 0)
{
builder.setLength(builder.length() - 2);
}
System.out.println("Names: " + builder);
Eine andere Situation wäre, wenn Sie eine Zeichenfolge über mehrere Methoden aufbauen wollte, oder möglicherweise einige Bits des Gebäudes conditionalise. Wenn Sie die Zeichenkette nicht in einer einzigen Anweisung erstellen (wo Ihnen der Compiler helfen kann), sollten Sie zumindest die Verwendung von StringBuilder
in Erwägung ziehen.
mögliche Duplikate von [Was passiert, wenn der Java Compiler viele String-Verkettungen in einer Zeile sieht?] (Http://stackoverflow.com/questions/1296571/what-happens-when-java-compiler-sees-many-string- Verkettungen in einer Zeile) –
Hinweis: Eine Situation, in der kein StringBuilder verwendet wird, ist, wenn die Zeichenfolge zur Kompilierungszeit verkettet werden kann. In diesem Fall erzeugt es nur eine einzige Zeichenfolge (kein StringBuilder) –
BTW: Wenn Sie jemals StringBuffer für Thread-Sicherheit verwenden müssen, haben Sie ein Design-Problem IMHO. : P –