"En général, le compilateur utilise en interne un StringBuilder pour exécuter la concaténation de chaîne via l'opérateur +. Sur une machine virtuelle classique, les deux méthodes se valent strictement."
Oui, mais ca dépend des cas. Pas dans celui où tu produirais ta concatenation au sein d'une boucle. Par exemple :
String s = "";
for(int i = 0; i < 100; i++) {
s += i + ", ";
}
Par contre si tu inities une chaine de la manière suivante :
String s = "0, " + "1, " + "2, ";
Aucun intêret à déclarer un StringBuilder puisque le compilateur en utilisera un.