Utilisez StringBuilder
si vous faites beaucoup de manipulations. Habituellement une boucle est une assez bonne indication de cela.
La raison en est que l'utilisation de la concaténation normale produit beaucoup d'intermédiaires. String
qui ne peut pas être facilement "étendu" (c'est-à-dire que chaque opération de concaténation produit un objet de type copie (ce qui nécessite de la mémoire et du temps CPU). A StringBuilder
d'autre part, n'a besoin de copier les données que dans certains cas (insertion d'un élément au milieu, ou nécessité de redimensionner parce que le résultat devient trop grand), ce qui lui permet d'économiser sur ces opérations de copie.
Utilisation de concat()
ne présente aucun avantage réel par rapport à l'utilisation de +
(cela peut être un peu plus rapide pour une simple +
mais une fois que vous l'aurez fait a.concat(b).concat(c)
il sera en fait plus lent que a + b + c
).