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

public class ExampleTest{ public static void main(String[] args){ StringBuilder sb = new StringBuilder(10); sb.append("Exemple.."); System.out.println(sb); sb.append("!"); System.out.println(sb); sb.insert(8, "Java"); System.out.println(sb); sb.delete(5,8); System.out.println(sb); } }

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 :

public class Test{ public static void main(String[] args){ StringBuffer sBuffer = new StringBuffer("Site Web officiel d'Example Tutorial :"); sBuffer.append("www"); sBuffer.append(".example"); sBuffer.append(".com"); System.out.println(sBuffer); } }

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)
vaintInsère la représentation sous forme de chaîne de l'argument dans cette séquence.
5 insert(int offset, String str)
vastrInsère la chaîne de l'argument dans cette séquence.
6 replace(int start, int end, String str)
En utilisant laStringremplace 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 nouveauString, 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 nouveauString, 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 :

Autres extensions