Avatar ·

StringBuilder vs StringBuffer : quelle est la différence et lequel est préférable d'utiliser en Java ?

Bonjour à tous ! J'ai commencé à étudier Java et je rencontre souvent des situations où je dois concaténer beaucoup de chaînes, surtout dans des boucles. Au début, j'utilisais la concaténation classique avec `+`, mais j'ai lu que c'est inefficace et qu'il vaut mieux utiliser `StringBuilder` ou `StringBuffer`. Cependant, je suis confus : quelle est la différence entre eux ? Les deux semblent faire la même chose — permettre d'assembler une chaîne sans créer d'objets inutiles. J'ai écrit un petit exemple, mais je ne comprends pas lequel choisir : ```java public class Test { public static void main(String[] args) { // Option 1 StringBuilder sb = new StringBuilder(); for (int i = 0; i < 1000; i++) { sb.append("nombre ").append(i).append(", "); } String result1 = sb.toString(); // Option 2 StringBuffer sbf = new StringBuffer(); for (int i = 0; i < 1000; i++) { sbf.append("nombre ").append(i).append(", "); } String result2 = sbf.toString(); } } ```