Classes Java StringBuffer et StringBuilder
Lorsque vous modifiez des chaînes de caractères, vous devez utiliser les classes StringBuffer et StringBuilder.
Contrairement à la classe String, les objets des classes StringBuffer et StringBuilder peuvent être modifiés plusieurs fois sans créer de nouveaux objets inutilisés.

Lorsque vous utilisez la classe StringBuffer, chaque opération est effectuée sur l'objet StringBuffer lui-même plutôt que de générer un nouvel objet, donc si vous devez modifier des chaînes de caractères, StringBuffer est recommandé.
La classe StringBuilder a été introduite dans Java 5. La plus grande différence entre elle et StringBuffer est que les méthodes de StringBuilder ne sont pas sûres pour les threads (ne peuvent pas être accédées de manière synchronisée).
Comme StringBuilder présente un avantage de vitesse par rapport à StringBuffer, il est recommandé d'utiliser la classe StringBuilder dans la plupart des cas.
Exemple
Le résultat de la compilation et de l'exécution de l'exemple ci-dessus est le suivant :
Example.. Example..! Example..Java! RunooJava!
Cependant, lorsque l'application nécessite la sécurité des threads, la classe StringBuffer doit être utilisée.
Code du fichier Test.java :
Le résultat de la compilation et de l'exécution de l'exemple ci-dessus est le suivant :
Example官网:www.example.com
Méthodes de StringBuffer
Voici les principales méthodes prises en charge par la classe StringBuffer :
| Non. | Description de la méthode |
|---|---|
| 1 |
public StringBuffer append(String s) Ajoute la chaîne spécifiée à cette séquence de caractères. |
| 2 |
public StringBuffer reverse() Remplace cette séquence de caractères par sa forme inversée. |
| 3 |
public delete(int start, int end) Supprime les caractères dans une sous-chaîne de cette séquence. |
| 4 |
public insert(int offset, int i) va intInsère la représentation sous forme de chaîne de l'argument dans cette séquence. |
| 5 |
insert(int offset, String str)
va strInsère la chaîne de l'argument dans cette séquence. |
| 6 |
replace(int start, int end, String str) En utilisant la Stringremplace les caractères dans une sous-chaîne de cette séquence par les caractères de la String donnée. |
La liste suivante répertorie d'autres méthodes courantes de la classe StringBuffer :
| Non. | Description de la méthode |
|---|---|
| 1 |
int capacity() Renvoie la capacité actuelle. |
| 2 |
char charAt(int index) Renvoie la valeur char à l'index spécifié dans cette séquence. charvaleur. |
| 3 |
void ensureCapacity(int minimumCapacity) Garantit que la capacité est au moins égale au minimum spécifié. |
| 4 |
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) Copie les caractères de cette séquence dans le tableau de caractères cible. dst。 |
| 5 |
int indexOf(String str) Renvoie l'index de la première occurrence de la sous-chaîne spécifiée dans cette chaîne. |
| 6 |
int indexOf(String str, int fromIndex) Renvoie l'index de la première occurrence de la sous-chaîne spécifiée dans cette chaîne, en commençant à l'index spécifié. |
| 7 |
int lastIndexOf(String str) Retourne l'index de l'occurrence la plus à droite de la sous-chaîne spécifiée dans cette chaîne. |
| 8 |
int lastIndexOf(String str, int fromIndex) Renvoie l'index de la dernière occurrence de la sous-chaîne dans l'objet String. |
| 9 |
int length() Renvoie la longueur (nombre de caractères). |
| 10 |
void setCharAt(int index, char ch) Définit le caractère à l'index donné à ch。 |
| 11 |
void setLength(int newLength) Définit la longueur de la séquence de caractères. |
| 12 |
CharSequence subSequence(int start, int end) Renvoie une nouvelle séquence de caractères qui est une sous-séquence de cette séquence. |
| 13 |
String substring(int start) Retourne un nouveau String, qui contient la sous-séquence de caractères actuellement contenue dans cette séquence de caractères. |
| 14 |
String substring(int start, int end) Retourne un nouveau String, qui contient la sous-séquence de caractères actuellement contenue dans cette séquence. |
| 15 |
String toString() Renvoie la représentation sous forme de chaîne des données de cette séquence. |
Plus de contenu :
- Classe StringBuffer :https://www.example.com/manual/jdk11api/java.base/java/lang/StringBuffer.html
- Classe StringBuilder :https://www.example.com/manual/jdk11api/java.base/java/lang/StringBuilder.html