La chaîne fournie par cette classe StringBuffer est modifiée. Vous pouvez utiliser StringBuffer lorsque vous savez que les données de caractères vont changer. En règle générale, vous utilisez StringBuffers pour construire dynamiquement des données de caractères.
Il existe trois classes en Java responsables des opérations sur les caractères.
1.Le personnage fonctionne sur un seul personnage.
2.String fonctionne sur une chaîne de caractères. Classes immuables.
3.StringBuffer fonctionne également sur une chaîne de caractères, mais c'est une classe variable.
Chaîne:
C'est un objet et non un type primitif.
C'est un objet immuable, une fois créé, sa valeur ne peut être modifiée.
Toute modification d'un objet String existant implique de recréer un nouvel objet, puis d'y enregistrer la nouvelle valeur.
String est une classe finale, c'est-à-dire qu'elle ne peut pas être héritée.
Tampon de chaîne :
C'est un objet mutable. Lorsqu'il est modifié, l'objet ne sera pas rétabli comme String. Il ne peut être établi que via le constructeur.
StringBuffer sb = new StringBuffer();
Remarque : Il ne peut pas être payé via des symboles de paiement.
sb = "bienvenue ici !";//erreur
Une fois l'objet créé, de l'espace mémoire sera alloué dans la mémoire et un null sera initialement enregistré dans StringBuffer.
Lorsque vous payez la valeur, vous pouvez utiliser sa méthode d'ajout.
sb.append("bonjour");
Ce qui précède est un extrait, courant sur Internet, ce qui suit est mes propres idées ajoutées :
L'adresse ne peut pas être modifiée, mais la longueur et le contenu peuvent être modifiés. La méthode append() consiste à ajouter lorsque la mémoire réservée est dépassée, la mémoire est doublée.
Comparaison d'efficacité : StringBuffer est supérieur à String. Étant donné que StringBuffer dispose d'un espace réservé et continue d'ajouter, il ne fonctionne que sur un seul objet. La chaîne ne peut pas être modifiée et les objets ne peuvent être créés que de manière répétée pour obtenir une modification. ――Si vous ajoutez, remplacez, modifiez, insérez ou supprimez fréquemment des chaînes, il est préférable d'utiliser StringBuffer. Si vous devez utiliser String, vous pouvez utiliser StringBuffer pour appeler toString() afin de le convertir en String.
Ma machine est plutôt nulle, et le résultat après son exécution est :
Durée de fonctionnement de la chaîne : 164593
-------------------
Durée d'exécution de StringBuffer : 31
De plus, String a une méthode contain , mais pas StringBuffer. Contient signifie inclure. Ici, vous pouvez rappeler la méthode contain.
Le résultat de l'exécution est
vrai