Maison  >  Article  >  Java  >  Classe StringBuffer en Java

Classe StringBuffer en Java

WBOY
WBOYoriginal
2024-08-30 15:42:11548parcourir

Comme nous savons qu'il existe essentiellement deux types d'objets Java, ils sont mutables et immuables. Les objets immuables sont les objets dont le contenu ne peut pas être modifié une fois créé. Chaque fois que le contenu d’un objet immuable est modifié, de nouveaux objets seront créés. Dans le cas d'un objet mutable, on peut modifier le contenu d'un objet existant ce qui n'entraîne pas la création d'un nouvel objet. Par conséquent, les chaînes mutables sont les chaînes dont le contenu peut être modifié sans créer de nouveaux objets.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

StringBuffer et StringBuilder sont des versions mutables de String en Java, alors que la classe Java String est immuable. Par conséquent, StringBuffer est une chaîne mutable utilisée pour fournir une mutabilité aux objets chaîne. La classe String contient une séquence de caractères de longueur fixe et immuable, tandis que le tampon de chaîne a une longueur extensible et une séquence de caractères inscriptible.

Comment utiliser la classe String Buffer en Java ?

Voici quelques points qui montrent comment utiliser StringBuffer en Java.

  • Comme déjà expliqué, la chaîne mutable en Java peut être créée à l'aide des classes StringBuffer et StringBuilder.
  • La principale différence entre les deux est que StringBuffer est une implémentation thread-safe, alors que StringBuilder ne l'est pas.
  • Chaque fois que des performances et une sécurité élevées sont requises, il faut préférer les versions mutables de la classe String.
  • En raison du pool String, il existe des problèmes de sécurité avec la classe String ; par conséquent, StringBuffer est utilisé chaque fois que la sécurité des données est nécessaire.
  • StringBuffer est meilleur en termes de performances que StringBuffer car StringBuffer est thread-safe, mais chaque fois que la sécurité des threads est nécessaire, il faut opter pour StringBuffer.

Constructeurs StringBuffer

Les constructeurs de tampons de chaîne suivants sont les suivants :

  • StringBuffer() : Cela crée un StringBuffer vide avec une capacité par défaut de 16 caractères.
  • StringBuffer(int capacité) : Cela crée un StringBuffer vide avec une capacité spécifiée.
  • StringBuffer(CharSequence charseq) : Cela crée StringBuffer contenant les mêmes caractères que dans la séquence de caractères spécifiée.
  • StringBuffer(String str) : Crée un StringBuffer correspondant à la chaîne spécifiée.

Voici la déclaration de la classe StringBuffer :

public final class StringBuffer extends Object implements Serializable,CharacterSequence,Appendable

Méthodes de la classe StringBuffer en Java

Nous allons maintenant voir quelles sont les différentes méthodes et champs disponibles dans StringBuffer. Voici la liste des méthodes couramment utilisées disponibles dans la classe StringBuffer :

Nom de la méthode Description
longueur() et capacité() La longueur d'une chaîne mutable peut être calculée à l'aide de la méthode length(), et la capacité correspondante peut être calculée à l'aide decapacité().
append(String str)

append(int number)

Cette méthode est utilisée pour ajouter un nouveau texte à la fin d'un tampon de chaîne existant.
insérer(int index, String str)

insérer(int index, char ch)

Utilisé pour insérer du texte à une position spécifiée dans une chaîne donnée. Dans la syntaxe donnée, index spécifie l'index de départ auquel la chaîne sera insérée.
inverse() Utilisé pour inverser l'ordre des caractères dans un objet tampon de chaîne donné.
delete(int start, int end) et deleteCharAt(int index) Utilisé pour supprimer des caractères d'un tampon de chaîne. Le début indique l'index de début du premier caractère à supprimer, et la fin indique un index d'un après le dernier caractère à supprimer.
replace(int startindex, int endindex, String str) Utilisé pour remplacer la séquence de caractères entre startindex et endindex-1 par le tampon de chaîne spécifié.
charAt(int index) Utilisé pour renvoyer le caractère à l'index spécifié dans le tampon de chaîne.
codePointAt(int index) Utilisé pour renvoyer l'Unicode du caractère à l'index spécifié.
codePointBefore(int index) Utilisé pour renvoyer l'Unicode du caractère avant l'index spécifié.
sous-chaîne (int start)

substring(int start, int end)

Used to return a new String that contains a subsequence of characters contained in a given string.
ensureCapacity(int capacity) Used for increasing the capacity of an existing string buffer object.
toString() Used to convert mutable string buffer to an immutable string object.

Examples of StringBuffer Class in Java

Here are some of the examples of StringBuffer class which are given below:

Example #1

Let us see a basic example of the StringBuffer class.

Code:

public class StringBufferDemo{
public static void main(String args[]){
StringBuffer sBuffer1=new StringBuffer("Welcome");
System.out.println("Original String is ::: " + sBuffer1 + ":: having length " + sBuffer1.length());
//using append method
sBuffer1.append(" To Edubca");
System.out.println("Modified String after append is :: " + sBuffer1 + " :: having length " + sBuffer1.length());
//using reverse method
sBuffer1.reverse();
System.out.println("Modified String after Reverse is :: " + sBuffer1);
}
}

The above code shows the creation of java StringBuffer and its different methods. The following output will be produced.

Output:

Classe StringBuffer en Java

Example #2

In this example, we will see some more methods of the StringBuffer class.

Code:

public class StringBufferDemo{
public static void main(String args[]){
StringBuffer sBuffer=new StringBuffer ("WelcomeToEdubca");
System.out.println("Original String is ::: " + sBuffer + ":: having length " + sBuffer.length());
//using replace method
sBuffer.replace(0,9,"This is ");
System.out.println("Modified String after replace is :: " + sBuffer + " :: having length " + sBuffer.length());
//using delete method
sBuffer.delete(0,7);
System.out.println("Modified String after delete is :: " + sBuffer);
}
}

The above code will display the following as output.

 Output:

Classe StringBuffer en Java

In the above example, we have seen how to create a StringBuffer class and usage of its methods.

Conclusion

From the above discussion, we have a clear understanding of StringBuffer in java, how it is created, and the different methods available in the StringBuffer class. Also, StringBuffer is thread-safe; therefore, it can be used in a multithreading environment.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:settimeout JavaArticle suivant:settimeout Java