Maison >Java >javaDidacticiel >Chaîne mutable en Java
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ésComme 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.
Voici les principaux constructeurs de classes de générateur de chaînes et de tampons de chaînes.
Les constructeurs de tampons de chaîne suivants sont les suivants :
Voici la déclaration de la classe StringBuffer :
public final class StringBuffer extends Object implements Serializable,CharacterSequence
Les constructeurs suivants sont des constructeurs de chaînes :
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 :
Les méthodes de classes mutables de chaînes sont indiquées ci-dessous :
|
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 are given below:
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:
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:
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!