Le compilateur l'utilisera automatiquement pour toute concaténation de chaîne en utilisant "+".
Vous l'utiliseriez généralement explicitement si vous vouliez concaténer en boucle. Par exemple:
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);
Une autre situation serait où vous vouliez construire une chaîne sur plusieurs méthodes, ou peut-être conditionalise quelques bits du bâtiment. Fondamentalement, si vous ne construisez pas la chaîne dans une seule instruction (où le compilateur peut vous aider), vous devriez au moins envisager d'utiliser StringBuilder
.
duplication possible de [Que se passe-t-il lorsque le compilateur Java voit plusieurs concaténations de chaînes sur une ligne?] (Http://stackoverflow.com/questions/1296571/what-happens-when-java-compiler-sees-many-string- concaténations-dans-une-ligne) –
Remarque: une situation où il n'utilisera pas StringBuilder est lorsque la chaîne peut être concaténée au moment de la compilation. Dans ce cas, il produit juste une seule chaîne (pas StringBuilder) –
BTW: Si vous avez besoin d'utiliser StringBuffer pour la sécurité des threads, vous avez un problème de conception IMHO. : P –