La classe Stringcrée des chaînes immuables. Cela signifie que si vous appliquez une opération à une chaîne ou une opération à une chaîne, le résultat sera une nouvelle chaîne. Si cette nouvelle chaîne n'est affectée à aucune variable, le résultat de l'opération sera perdu. En conséquence, les opérations sur de telles chaînes conduisent nécessairement à la création d’une nouvelle chaîne. Et cela signifie des coûts supplémentaires en matière de mémoire et de temps processeur. S'il y a beaucoup d'opérations sur une chaîne, il est souvent plus efficace d'utiliser des chaînes dynamiques implémentées par la classe StringBuilder.
Classe StringBuilder en Java 8 avec exemple pratique - 1
Considérez le code ci-dessous :
String s = "Some text";
int count = 100;
for(int i = 0; i<100;i++){
   s+=i;
}
**********************
StringBuilder s = new StringBuilder(110);
int count = 100;
s.append("Some text");
for(int i = 0;i<count;i++){
s.append(i);
}
Le code ci-dessus résout le même problème. Lorsque nous ajoutons 100 nouvelles sous-chaînes à une chaîne donnée. Le premier exemple utilise la classe à cet effet String, ce qui n'est pas très efficace puisque chaque ajout de sous-chaîne entraîne la construction d'un nouvel objet String. Et c'est une perte supplémentaire de mémoire et de temps. Dans le deuxième exemple, ce problème est résolu en utilisant la classe StringBuilder. Nous créons un objet de classe à l'avance StringBuilder, puis, en utilisant la méthode append, nous formons la chaîne dont nous avons besoin en modifiant le contenu de l'objet créé StringBuilder, mais sans recréer l'objet lui-même.