La classe
Considérez le code ci-dessous :
String
cré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
.
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.
GO TO FULL VERSION