1. Modification des chaînes
En Java, les chaînes sont des objets immuables. Cela a été fait pour rendre la classe String hautement optimisée et pour lui permettre d'être utilisée partout. Par exemple, seuls les types immuables sont recommandés pour une utilisation en tant que clés dans la collection HashMap .
Cependant, des situations surviennent souvent lorsque les programmeurs trouveraient plus pratique que la String
classe soit modifiable. Ils veulent une classe qui ne crée pas de nouvelle sous-chaîne chaque fois qu'une de ses méthodes est appelée.
Eh bien, supposons que nous ayons une très grande chaîne et que nous devions fréquemment ajouter quelque chose à la fin. Dans ce cas, même une collection de caractères ( ArrayList<Character>
) peut être plus efficace que la recréation et la concaténation constantes d'objets String.
C'est précisément pourquoi un type de type String qui peut être modifié a été ajouté au langage Java. Il s'appelle StringBuilder
.
Création d'un objet
Pour créer un StringBuilder
objet basé sur une chaîne existante, vous devez exécuter une instruction telle que :
StringBuilder name = new StringBuilder(string);
Pour créer une chaîne mutable vide, vous devez utiliser une instruction comme celle-ci :
StringBuilder name = new StringBuilder();
Liste des méthodes
La StringBuilder
classe a deux douzaines de méthodes utiles. Voici les plus importants :
Méthode | Description |
---|---|
|
Convertit l'objet passé en chaîne et l'ajoute à la chaîne actuelle |
|
Convertit l'objet passé en chaîne et l'insère dans la chaîne actuelle |
|
Remplace la partie de la chaîne spécifiée par l'intervalle début..fin par la chaîne transmise |
|
Supprime le caractère avec l'index spécifié de la chaîne |
|
Supprime les caractères dans l'intervalle spécifié de la chaîne |
|
Recherche une sous-chaîne dans la chaîne courante |
|
Recherche une sous-chaîne dans la chaîne courante, en commençant par la fin |
|
Renvoie le caractère de la chaîne à l'index passé |
|
Renvoie la sous-chaîne définie par l'intervalle spécifié |
|
Inverse la chaîne actuelle. |
|
Remplace le caractère à l'index spécifié par le caractère passé |
|
Renvoie la longueur de la chaîne en caractères |
Voici une brève description de chaque méthode
2. Description des méthodes :
Ajout à une chaîne
Pour ajouter quelque chose à une chaîne mutable ( StringBuilder
), utilisez la append()
méthode. Exemple:
Code | Description |
---|---|
|
|
Conversion en chaîne standard
Pour convertir un StringBuilder
objet en objet String, il vous suffit d'appeler sa toString()
méthode. Exemple
Code | Sortir |
---|---|
|
|
Comment supprimer un personnage ?
Pour supprimer un caractère dans une chaîne mutable, vous devez utiliser la deleteCharAt()
méthode. Exemple:
Code | Sortir |
---|---|
|
|
Comment remplacer une partie d'une chaîne par une autre chaîne ?
Pour cela, il y a la replace(int begin, int end, String str)
méthode. Exemple:
Code | Sortir |
---|---|
|
|
3. Exemples utiles de travail avec des chaînes
Comment inverser une chaîne ?
Il existe une méthode spéciale pour le faire — reverse()
; Exemple:
Code | Sortir |
---|---|
|
|
StringBuffer
classe
Il existe une autre classe — StringBuffer, qui est un analogue de la StringBuilder
classe, mais ses méthodes sont marquées avec le synchronized
modificateur. Cela signifie que l' StringBuffer
objet est accessible simultanément à partir de plusieurs threads.
Mais c'est beaucoup plus lent que StringBuilder
. Vous aurez peut-être besoin de cette classe lorsque vous commencerez à explorer activement le multithreading dans la quête Java Multithreading .
GO TO FULL VERSION