Classe Strings Java : Maîtriser la Création et la Manipulation de Chaînes
Les chaînes de caractères, largement utilisées en programmation Java, sont une séquence de caractères. En Java, les chaînes sont traitées comme des objets.
La plateforme Java fournit la classe String pour créer et manipuler les chaînes.
Création de chaînes
La façon la plus directe de créer une chaîne est d'écrire :
String greeting = "Hello world!";
Chaque fois qu'il rencontre un littéral de chaîne dans votre code, le compilateur crée un objet String avec sa valeur, dans ce cas « Hello world! ».
Comme pour tout autre objet, vous pouvez créer des objets String en utilisant le mot-clé new et un constructeur. La classe String a 11 constructeurs qui vous permettent de fournir la valeur initiale de la chaîne en utilisant différentes sources, comme un tableau de caractères.
Exemple
Live Demopublic class StringDemo {
public static void main(String args[]) {
char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.' };
String helloString = new String(helloArray);
System.out.println( helloString );
}
}
Cela produira le résultat suivant :
Sortie
hello.
Note – La classe String est immuable, donc une fois créée, un objet String ne peut pas être modifié. Si vous devez apporter beaucoup de modifications à des chaînes de caractères, vous devriez utiliser les classes StringBuffer et StringBuilder.
Longueur de chaîne
Les méthodes utilisées pour obtenir des informations sur un objet sont appelées méthodes d'accès. Une méthode d'accès que vous pouvez utiliser avec les chaînes est la méthode length(), qui retourne le nombre de caractères contenus dans l'objet chaîne.
Le programme suivant est un exemple de la méthode length() de la classe String.
Exemple
Live Demopublic class StringDemo {
public static void main(String args[]) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
System.out.println( "String Length is : " + len );
}
}
Cela produira le résultat suivant :
Sortie
String Length is : 17
Concaténation de chaînes
La classe String inclut une méthode pour concaténer deux chaînes :
string1.concat(string2);
Cela retourne une nouvelle chaîne qui est string1 avec string2 ajouté à la fin. Vous pouvez également utiliser la méthode concat() avec des littéraux de chaîne, comme dans :
"My name is ".concat("Zara");
Les chaînes sont plus couramment concaténées avec l'opérateur +, comme dans :
"Hello," + " world" + "!"
ce qui résulte en :
"Hello, world!"
Regardons l'exemple suivant :
Exemple
Live Demopublic class StringDemo {
public static void main(String args[]) {
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
}
}
Cela produira le résultat suivant :
Sortie
Dot saw I was Tod
Création de chaînes de format
Vous avez les méthodes printf() et format() pour imprimer une sortie avec des nombres formatés. La classe String a une méthode de classe équivalente, format(), qui retourne un objet String plutôt qu'un objet PrintStream.
L'utilisation de la méthode statique format() de String vous permet de créer une chaîne formatée que vous pouvez réutiliser, par opposition à une instruction d'impression unique. Par exemple, au lieu de :
Exemple
System.out.printf("The value of the float variable is " + "%f, while the value of the integer " + "variable is %d, and the string " + "is %s", floatVar, intVar, stringVar);
Vous pouvez écrire :
String fs;
fs = String.format("The value of the float variable is " + "%f, while the value of the integer " + "variable is %d, and the string " + "is %s", floatVar, intVar, stringVar);
System.out.println(fs);
Méthodes de String
Voici la liste des méthodes supportées par la classe String :
| N° | Méthode et Description |
|---|---|
| 1 | char charAt(int index) – Retourne le caractère à l'index spécifié. |
| 2 | int compareTo(Object o) – Compare cette String à un autre Objet. |
| 3 | int compareTo(String anotherString) – Compare deux chaînes lexicographiquement. |
| 4 | int compareToIgnoreCase(String str) – Compare deux chaînes lexicographiquement, en ignorant les différences de casse. |
| 5 | String concat(String str) – Concatène la chaîne spécifiée à la fin de cette chaîne. |
| 6 | boolean contentEquals(StringBuffer sb) – Retourne true si et seulement si cette String représente la même séquence de caractères que le StringBuffer spécifié. |
| 7 | static String copyValueOf(char[] data) – Retourne une String qui représente la séquence de caractères dans le tableau spécifié. |
| 8 | static String copyValueOf(char[] data, int offset, int count) – Retourne une String qui représente la séquence de caractères dans le tableau spécifié. |
| 9 | boolean endsWith(String suffix) – Teste si cette chaîne se termine par le suffixe spécifié. |
| 10 | boolean equals(Object anObject) – Compare cette chaîne à l'objet spécifié. |
| 11 | boolean equalsIgnoreCase(String anotherString) – Compare cette String à une autre String, en ignorant les considérations de casse. |
| 12 | byte[] getBytes() – Encode cette String en une séquence d'octets en utilisant le charset par défaut de la plateforme, stockant le résultat dans un nouveau tableau d'octets. |
| 13 | byte[] getBytes(String charsetName) – Encode cette String en une séquence d'octets en utilisant le charset nommé, stockant le résultat dans un nouveau tableau d'octets. |
| 14 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) – Copie les caractères de cette chaîne dans le tableau de caractères de destination. |
| 15 | int hashCode() – Retourne un code de hachage pour cette chaîne. |
| 16 | int indexOf(int ch) – Retourne l'index dans cette chaîne de la première occurrence du caractère spécifié. |
| 17 | int indexOf(int ch, int fromIndex) – Retourne l'index dans cette chaîne de la première occurrence du caractère spécifié, en commençant la recherche à l'index spécifié. |
| 18 | int indexOf(String str) – Retourne l'index dans cette chaîne de la première occurrence de la sous-chaîne spécifiée. |
| 19 | int indexOf(String str, int fromIndex) – Retourne l'index dans cette chaîne de la première occurrence de la sous-chaîne spécifiée, en commençant à l'index spécifié. |
| 20 | String intern() – Retourne une représentation canonique pour l'objet chaîne. |
| 21 | int lastIndexOf(int ch) – Retourne l'index dans cette chaîne de la dernière occurrence du caractère spécifié. |
| 22 | int lastIndexOf(int ch, int fromIndex) – Retourne l'index dans cette chaîne de la dernière occurrence du caractère spécifié, en recherchant en arrière à partir de l'index spécifié. |
| 23 | int lastIndexOf(String str) – Retourne l'index dans cette chaîne de l'occurrence la plus à droite de la sous-chaîne spécifiée. |
| 24 | int lastIndexOf(String str, int fromIndex) – Retourne l'index dans cette chaîne de la dernière occurrence de la sous-chaîne spécifiée, en recherchant en arrière à partir de l'index spécifié. |
| 25 | int length() – Retourne la longueur de cette chaîne. |
| 26 | boolean matches(String regex) – Indique si cette chaîne correspond à l'expression régulière donnée. |
| 27 | boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) – Teste si deux régions de chaînes sont égales. |
| 28 | boolean regionMatches(int toffset, String other, int ooffset, int len) – Teste si deux régions de chaînes sont égales. |
| 29 | String replace(char oldChar, char newChar) – Retourne une nouvelle chaîne résultant du remplacement de toutes les occurrences de oldChar dans cette chaîne par newChar. |
| 30 | String replaceAll(String regex, String replacement) – Remplace chaque sous-chaîne de cette chaîne qui correspond à l'expression régulière donnée par le remplacement donné. |
| 31 | String replaceFirst(String regex, String replacement) – Remplace la première sous-chaîne de cette chaîne qui correspond à l'expression régulière donnée par le remplacement donné. |
| 32 | String[] split(String regex) – Divise cette chaîne autour des correspondances de l'expression régulière donnée. |
| 33 | String[] split(String regex, int limit) – Divise cette chaîne autour des correspondances de l'expression régulière donnée. |
| 34 | boolean startsWith(String prefix) – Teste si cette chaîne commence par le préfixe spécifié. |
| 35 | boolean startsWith(String prefix, int toffset) – Teste si cette chaîne commence par le préfixe spécifié à partir d'un index spécifié. |
| 36 | CharSequence subSequence(int beginIndex, int endIndex) – Retourne une nouvelle séquence de caractères qui est une sous-séquence de cette séquence. |
| 37 | String substring(int beginIndex) – Retourne une nouvelle chaîne qui est une sous-chaîne de cette chaîne. |
| 38 | String substring(int beginIndex, int endIndex) – Retourne une nouvelle chaîne qui est une sous-chaîne de cette chaîne. |
| 39 | char[] toCharArray() – Convertit cette chaîne en un nouveau tableau de caractères. |
| 40 | String toLowerCase() – Convertit tous les caractères de cette String en minuscules en utilisant les règles de la locale par défaut. |
| 41 | String toLowerCase(Locale locale) – Convertit tous les caractères de cette String en minuscules en utilisant les règles de la Locale donnée. |
| 42 | String toString() – Cet objet (qui est déjà une chaîne !) est lui-même retourné. |
| 43 | String toUpperCase() – Convertit tous les caractères de cette String en majuscules en utilisant les règles de la locale par défaut. |
| 44 | String toUpperCase(Locale locale) – Convertit tous les caractères de cette String en majuscules en utilisant les règles de la Locale donnée. |
| 45 | String trim() – Retourne une copie de la chaîne, avec les espaces blancs de début et de fin omis. |
| 46 | static String valueOf(primitive data type x) – Retourne la représentation en chaîne de l'argument de type de données primitif passé. |
Java
- Maîtriser les chaînes de caractères en Java : Création, méthodes et bonnes pratiques
- Comprendre le mot-clé final en Java : variables, méthodes et classes
- L'opérateur instanceof en Java : guide complet
- Comprendre les classes imbriquées statiques en Java : utilisation, différences et exemples
- Maîtriser les classes internes anonymes en Java : définition, syntaxe et exemples pratiques
- Le pattern Singleton en Java expliqué : implémentation et utilisation sûre
- Maîtriser les représentations en chaînes dans les enums Java
- Maîtriser la réflexion Java : inspection des classes, méthodes et champs à l'exécution
- Maîtriser Java ObjectOutputStream : Sérialisation, méthodes et exemples pratiques