Dans ce didacticiel, nous allons découvrir les chaînes Java, comment les créer et les différentes méthodes de chaîne à l'aide d'exemples.
En Java, une chaîne est une séquence de caractères. Par exemple, "hello" est une chaîne contenant une séquence de caractères 'h', 'e', 'l', 'l' et 'o'.
Nous utilisons des guillemets doubles pour représenter une chaîne en Java. Par exemple,
// create a string String type = "Java programming";
Ici, nous avons créé une variable chaîne nommée type. La variable est initialisée avec la chaîne Java Programming
.
Remarque : Les chaînes en Java ne sont pas des types primitifs (comme int
, char
, etc.). Au lieu de cela, toutes les chaînes sont des objets d'une classe prédéfinie nommée String
.
Et, toutes les variables de chaîne sont des instances de la String
classe.
Exemple: créer une chaîne en Java
class Main ( public static void main(String() args) ( // create strings String first = "Java"; String second = "Python"; String third = "JavaScript"; // print strings System.out.println(first); // print Java System.out.println(second); // print Python System.out.println(third); // print JavaScript ) )
Dans l'exemple ci-dessus, nous avons créé trois chaînes nommées première, deuxième et troisième. Ici, nous créons directement des chaînes comme les types primitifs.
Cependant, il existe une autre façon de créer des chaînes Java (en utilisant le new
mot - clé). Nous en apprendrons plus tard dans ce tutoriel.
Opérations de chaîne Java
Java String fournit diverses méthodes pour effectuer différentes opérations sur des chaînes. Nous examinerons certaines des opérations de chaîne couramment utilisées.
1. Obtenir la longueur d'une chaîne
Pour trouver la longueur d'une chaîne, nous utilisons la length()
méthode de la chaîne. Par exemple,
class Main ( public static void main(String() args) ( // create a string String greet = "Hello! World"; System.out.println("String: " + greet); // get the length of greet int length = greet.length(); System.out.println("Length: " + length); ) )
Production
String: Bonjour! Longueur du monde: 12
Dans l'exemple ci-dessus, la length()
méthode calcule le nombre total de caractères dans la chaîne et le renvoie. Pour en savoir plus, visitez Java String length ().
2. Joindre deux chaînes
Nous pouvons joindre deux chaînes en Java en utilisant la concat()
méthode. Par exemple,
class Main ( public static void main(String() args) ( // create first string String first = "Java "; System.out.println("First String: " + first); // create second String second = "Programming"; System.out.println("Second String: " + second); // join two strings String joinedString = first.concat(second); System.out.println("Joined String: " + joinedString); ) )
Production
Première chaîne: Java Deuxième chaîne: programmation Chaîne jointe: programmation Java
Dans l'exemple ci-dessus, nous avons créé deux chaînes nommées première et seconde. Notez la déclaration,
String joinedString = first.concat(second);
Ici, nous la concat()
méthode joint le premier et le second et l'assigne à la variable joinString.
Nous pouvons également joindre deux chaînes en utilisant l' +
opérateur en Java. Pour en savoir plus, visitez Java String concat ().
3. Comparez deux chaînes
En Java, nous pouvons faire des comparaisons entre deux chaînes en utilisant la equals()
méthode. Par exemple,
class Main ( public static void main(String() args) ( // create 3 strings String first = "java programming"; String second = "java programming"; String third = "python programming"; // compare first and second strings boolean result1 = first.equals(second); System.out.println("Strings first and second are equal: " + result1); // compare first and third strings boolean result2 = first.equals(third); System.out.println("Strings first and third are equal: " + result2); ) )
Production
Les chaînes première et seconde sont égales: true Les chaînes première et troisième sont égales: false
Dans l'exemple ci-dessus, nous avons créé 3 chaînes nommées première, deuxième et troisième. Ici, nous utilisons la equal()
méthode pour vérifier si une chaîne est égale à une autre.
La equals()
méthode vérifie le contenu des chaînes tout en les comparant. Pour en savoir plus, visitez Java String equals ().
Remarque : Nous pouvons également comparer deux chaînes en utilisant l' ==
opérateur en Java. Cependant, cette approche est différente de la equals()
méthode. Pour en savoir plus, visitez Java String == vs equals ().
Méthodes de Java String
Outre celles mentionnées ci-dessus, il existe diverses méthodes de chaîne de caractères présentes en Java. Voici quelques-unes de ces méthodes:
Méthodes | La description |
---|---|
sous-chaîne () | renvoie la sous-chaîne de la chaîne |
remplacer() | remplace l'ancien caractère spécifié par le nouveau caractère spécifié |
charAt () | renvoie le caractère présent à l'emplacement spécifié |
getBytes () | convertit la chaîne en un tableau d'octets |
Indice de() | renvoie la position du caractère spécifié dans la chaîne |
comparer aux() | compare deux chaînes dans l'ordre du dictionnaire |
réduire() | supprime tous les espaces de début et de fin |
format() | renvoie une chaîne formatée |
Divisé() | divise la chaîne en un tableau de chaînes |
toLowerCase () | convertit la chaîne en minuscules |
toUpperCase () | convertit la chaîne en majuscules |
valeur de() | renvoie la représentation sous forme de chaîne de l'argument spécifié |
toCharArray () | convertit la chaîne en char tableau |
Caractère d'échappement dans les chaînes Java
Le caractère d'échappement est utilisé pour échapper à certains des caractères présents dans une chaîne.
Supposons que nous devions inclure des guillemets doubles dans une chaîne.
// include double quote String example = "This is the "String" class";
Since strings are represented by double quotes, the compiler will treat "This is the " as the string. Hence, the above code will cause an error.
To solve this issue, we use the escape character in Java. For example,
// use the escape character String example = "This is the "String " class.";
Now escape characters tell the compiler to escape double quotes and read the whole text.
Java Strings are Immutable
In Java, strings are immutable. This means, once we create a string, we cannot change that string.
To understand it more deeply, consider an example:
// create a string String example = "Hello! ";
Here, we have created a string variable named example. The variable holds the string "Hello! ".
Now suppose we want to change the string.
// add another string "World" // to the previous tring example example = example.concat(" World");
Here, we are using the concat()
method to add another string World to the previous string.
It looks like we are able to change the value of the previous string. However, this is not true
.
Let's see what has happened here,
- JVM takes the first string "Hello! "
- creates a new string by adding "World" to the first string
- assign the new string "Hello! World" to the example variable
- the first string "Hello! " remains unchanged
Creating strings using the new keyword
So far we have created strings like primitive types in Java.
Since strings in Java are objects, we can create strings using the new
keyword as well. For example,
// create a string using the new keyword String name = new String("Java String");
In the above example, we have created a string name using the new
keyword.
Here, when we create a string object, the String()
constructor is invoked. To learn more about constructor, visit Java Constructor.
Note: The String
class provides various other constructors to create strings. To learn more, visit Java String (official Java documentation).
Example: Create Java Strings using the new keyword
class Main ( public static void main(String() args) ( // create a string using new String name = new String("Java String"); System.out.println(name); // print Java String ) )
Create String using literals vs new keyword
Now that we know how strings are created using string literals and the new
keyword, let's see what is the major difference between them.
In Java, the JVM maintains a string pool to store all of its strings inside the memory. The string pool helps in reusing the strings.
While creating strings using string literals, the value of the string is directly provided. Hence, the compiler first checks the string pool to see if the string already exists.
- Si la chaîne existe déjà , la nouvelle chaîne n'est pas créée. Au lieu de cela, la nouvelle référence pointe vers la chaîne existante.
- Si la chaîne n'existe pas , la nouvelle chaîne est créée.
Cependant, lors de la création de chaînes à l'aide du mot clé new , la valeur de la chaîne n'est pas fournie directement. Par conséquent, la nouvelle chaîne est créée tout le temps.