Maison >Java >javaDidacticiel >Chaîne mutable en Java

Chaîne mutable en Java

WBOY
WBOYoriginal
2024-08-30 15:41:02754parcourir

Avec Mutable string, nous pouvons modifier le contenu d'un objet existant, ce qui ne crée pas de nouvel objet. Par conséquent, les chaînes mutables sont les chaînes dont le contenu peut être modifié sans créer de nouvel objet. StringBuffer et StringBuilder sont des versions mutables de String en Java, alors que la classe Java String est immuable. 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é, il y aura création d'un nouvel objet.

PUBLICITÉ Cours populaire dans cette catégorie MAÎTRISÉE JAVA - Spécialisation | 78 séries de cours | 15 tests simulés

Comment utiliser une chaîne mutable 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, contrairement à StringBuilder. Chaque fois que des performances élevées et une sécurité élevée 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 et StringBuilder sont utilisés 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 de classes StringBuilder et StringBuffer

Voici les principaux constructeurs de classes de générateur de chaînes et de tampons de chaînes.

1. 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

2. Constructeurs StringBuilder

Les constructeurs suivants sont des constructeurs de chaînes :

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

Voici la déclaration de la classe StringBuilder :

public final class StringBuilder extends Object implements Serializable,CharacterSequence

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

Méthodes de classes mutables de chaînes

Les méthodes de classes mutables de chaînes sont indiquées ci-dessous :

Method Name Description
length() and capacity() The length of a mutable string can be calculated using the length() method, and corresponding capacity can be calculated using capacity().
append(String str)

append(int number)

This method is used for adding new text at the end of an existing mutable string.
insert(int index, String str)

insert(int index, char ch)

Used for inserting text at a specified position in a given string. In the given syntax index specifies the starting index of at which the string will be inserted.
reverse() Used for reversing the order of character in a given string.
delete(int start, int end) and deleteCharAt(int index) Used for deleting characters from a mutable string. Start indicates the starting index of the first character to be removed, and the end index indicates an index of one past the last character to be removed.
replace(int startindex, int endindex, String str) Used for replacing character sequence between startindex and endindex-1 with the specified string.
Nom de la méthode
Description
length() 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'une chaîne mutable existante.
insert(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 une chaîne donnée.
delete(int start, int end) et deleteCharAt(int index) Utilisé pour supprimer des caractères d'une chaîne mutable. Le début indique l'index de début du premier caractère à supprimer, et l'index de fin indique un index 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 la chaîne spécifiée.

The above-listed methods are commonly used methods of StringBuffer and StringBuilder classes.

Examples of Mutable String in Java

Examples of mutable string in java are given below:

Example #1

Let us see a basic example of a StringBuffer class.

Code:

package com.edubca.mutablestringdemo;
public class MutableStringDemo{
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:

Chaîne mutable en Java

Example #2

In this example, we will see how to use StringBuilder in java.

Code:

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

Output:

Chaîne mutable en Java

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

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:Calculatrice en JavaArticle suivant:Calculatrice en Java