« Qu'en penses-tu, Amigo ? Quelle est la classe Java la plus populaire après int ? »
"Tu m'as déjà donné un spoiler dans le titre de la leçon, Ellie. C'est String
!"
"En effet, c'est un spoiler. String
est utilisé absolument partout. Il a un tas de méthodes utiles qu'il vaut mieux connaître.
"La String
classe est la seule classe autre que les types primitifs dont les littéraux peuvent être utilisés dans une switch
instruction ; le compilateur gère l'ajout de chaînes et les objets String d'une manière spéciale ; les objets sont stockés en mémoire d'une manière spéciale String
. String
classe spéciale.
"De plus, la String
classe a un tas de classes d'assistance dont le but est de simplifier davantage le travail avec les chaînes en Java. Lorsque vous apprenez tout cela, beaucoup de choses deviendront vraiment beaucoup plus faciles à faire pour vous."
"Je ne peux pas attendre."
"Eh bien, nous allons commencer par le cœur même de cet écosystème - l'organisation de la String
classe. La structure de la String
classe est en fait très simple : à l'intérieur se trouve un tableau de caractères ( char
tableau) qui stocke tous les caractères de la chaîne. Pour exemple, voici comment le mot 'Hello' est stocké :
C'est important.
En fait, ce n'est pas tout à fait exact. Étant donné que la String
classe est très importante, elle utilise de nombreuses optimisations et les données sont stockées en interne non pas sous la forme d'un tableau de caractères, mais simplement sous la forme d'un tableau d'octets.
Méthodes de la classe String
La String
classe a beaucoup de méthodes : elle a 18 constructeurs à elle seule ! Donc, ci-dessous, je ne listerai que les plus fréquemment utilisés :
Méthodes | Description |
---|---|
|
Renvoie le nombre de caractères dans la chaîne |
|
Vérifie si la chaîne est une chaîne vide |
|
Vérifie que la chaîne ne contient que des caractères blancs : espace, tabulation, nouvelle ligne, etc. |
|
Renvoie le caractère à la position d'index dans la chaîne. |
|
Renvoie un tableau des caractères (une copie) qui composent la chaîne |
|
Convertit une chaîne en un ensemble d'octets et renvoie le tableau d'octets. |
|
Divise une chaîne en plusieurs sous-chaînes. |
|
Joint plusieurs sous-chaînes ensemble |
|
Place une chaîne dans le pool de chaînes. |
"Ça a l'air très bien !"
"Écrivons un programme qui convertit un chemin de fichier du style Unix au style Windows. Unix utilise le /
caractère pour séparer les dossiers, tandis que Windows utilise le \
caractère.
Solution 1. Utiliser un char
tableau
Code | Remarques |
---|---|
|
Créer un objet Scanner Lire une ligne depuis la console Convertir une chaîne en un tableau de caractères Boucler sur les caractères Si le caractère est / , remplacez-le par \ . N'oubliez pas de vous évader. Créez une nouvelle chaîne basée sur le tableau de caractères. Affichez la chaîne. |
Solution 2. En utilisant les méthodes split()
et join()
:
Code | Remarques |
---|---|
|
Créer un objet Scanner Lire une ligne depuis la console Convertir une chaîne en un tableau de chaînes . Le / caractère est utilisé comme séparateur (les deux barres obliques supplémentaires sont le résultat d'un double échappement). Concatène toutes les chaînes du tableau de chaînes . Le \ est utilisé comme séparateur (on le voit échappé). Affichez la chaîne. |
Solution 3. En utilisant la replace(char oldChar, char newChar)
méthode :
Code | Remarques |
---|---|
|
Créer un objet Scanner Lire une ligne depuis la console Remplacer simplement un caractère par un autre (le second est échappé) Afficher la chaîne. |
"J'ai le plus aimé la troisième solution. Mais je vais pratiquer les trois."
"Bien joué, Amigo. Je vois que tu es déjà impatient de mettre tes nouvelles connaissances en pratique. La leçon est terminée."
GO TO FULL VERSION