
Les chaînes de caractères, largement utilisées dans la programmation Java, sont une séquence de caractères. Dans le langage de programmation Java, les chaînes sont des objets.
La plateforme Java fournit la classe String pour créer et manipuler des chaînes.
Le moyen le plus direct 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 comporte onze constructeurs qui vous permettent de fournir la valeur initiale de la chaîne à l'aide de différentes sources, comme un tableau de caractères.
public 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 produirait le résultat suivant:
hello.
Remarque: La classe String est immuable, de sorte qu'une fois qu'elle est créée, un objet String ne peut pas être modifié. S'il est nécessaire d'apporter beaucoup de modifications aux chaînes de caractères, vous devez utiliser les classes String Buffer & String Builder.
Les méthodes utilisées pour obtenir des informations sur un objet sont connues sous le nom de méthodes d’accesseur. Une méthode d’accesseur que vous pouvez utiliser avec les chaînes est la méthode length( ) qui renvoie le nombre de caractères contenus dans l'objet string.
Une fois que les deux lignes de code suivantes ont été exécutées, len est égal à 17:
public 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 produirait le résultat suivant:
String Length is : 17
La classe String comprend une méthode de concaténation de deux chaînes:
string1.concat(string2);
Cela renvoie une nouvelle chaîne qui est string1 avec string2 ajouté à la fin. Vous pouvez également utiliser la méthode concat( ) avec les littéralités de chaîne, comme dans:
"My name is ".concat("Tony");
Les chaînes sont plus communément concaténées avec l'opérateur +, comme dans:
"Hello," + " world" + "!"
Ce qui se traduit par:
"Hello, world!"
Examinons l'exemple suivant:
public class StringDemo {
public static void main(String args[]) {
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
}
}
Cela produirait le résultat suivant:
Dot saw I was Tod
Vous disposez de méthodes printf( ) et format() pour afficher la sortie avec des nombres formatés. La classe String a une méthode de classe équivalente, format( ), qui renvoie un objet String plutôt qu'un objet PrintStream .
L'utilisation de la méthode statique format( ) vous permet de créer une chaîne formatée que vous pouvez réutiliser, par opposition à une déclaration d'affichage ponctuelle. Par exemple, au lieu de:
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);
Voici la liste des méthodes prises en charge par la classe String:
SN |
Méthodes avec description |
1 |
char charAt(int index) |
2 |
int compareTo(Object o) |
3 |
int compareTo(String anotherString) |
4 |
int compareToIgnoreCase(String str) |
5 |
String concat(String str) |
6 |
boolean contentEquals(StringBuffer sb) |
7 |
static String copyValueOf(char[] data) |
8 |
static String copyValueOf(char[] data, int offset, int count) |
9 |
boolean endsWith(String suffix) |
dix |
boolean equals(Object anObject) |
11 |
Boolean equalsIgnoreCase(String anotherString) Comparer cette chaîne à une autre chaîne, en ignorant les considérations de casse. |
12 |
byte getBytes() |
13 |
byte[] getBytes(String charsetName) |
14 |
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) |
15 |
int hashCode() |
16 |
int indexOf(int ch) |
17 |
int indexOf(int ch, int fromIndex) |
18 |
int indexOf(String str) |
19 |
int indexOf(String str, int fromIndex) |
20 |
String intern() |
21 |
int lastIndexOf(int ch) |
22 |
int lastIndexOf(int ch, int fromIndex) |
23 |
int lastIndexOf(String str) |
24 |
int lastIndexOf(String str, int fromIndex) |
25 |
int length() |
26 |
boolean matches(String regex) |
27 |
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) |
28 |
boolean regionMatches(int toffset, String other, int ooffset, int len) Testez si deux régions de chaîne sont égales. |
29 |
String replace(char oldChar, char newChar) |
30 |
String replaceAll(String regex, String replacement) |
31 |
String replaceFirst(String regex, String replacement) |
32 |
String[] split(String regex) |
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) |
35 |
boolean startsWith(String prefix, int toffset) |
36 |
CharSequence subSequence(int beginIndex, int endIndex) |
37 |
String substring(int beginIndex) |
38 |
String substring(int beginIndex, int endIndex) |
39 |
char[] toCharArray() |
40 |
String toLowerCase() |
41 |
String toLowerCase(Locale locale) |
42 |
String toString() |
43 |
String toUpperCase() |
44 |
String toUpperCase(Locale locale) Convertit tous les caractères de cette chaîne en majuscules en utilisant les règles de la localité donnée. |
45 |
String trim() |
46 |
static String valueOf(primitive_data_type x) |