Chaînes de caractères immuables en programmation Java

JavaJavaBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Ce laboratoire vous guidera tout au long des avantages de l'utilisation de chaînes de caractères immuables en programmation Java. Vous allez apprendre pourquoi les chaînes de caractères en Java sont immuables et comment elles peuvent améliorer les performances globales de votre application. À la fin de ce laboratoire, vous saurez apprécier l'importance de l'utilisation de chaînes de caractères immuables et saurez comment les créer et les utiliser dans votre programme.

Créez un fichier Java

Tout d'abord, créez un fichier Java nommé ImmutableString.java dans le répertoire ~/projet. Ce fichier contiendra le code pour ce laboratoire. Utilisez la commande suivante pour créer le fichier.

touch ImmutableString.java

Créez une variable de type String

Dans cette étape, créez une variable de type String pour stocker votre nom. Utilisez le code suivant pour créer une chaîne de caractères.

String name = "MyName";

Remarque: La classe String est immuable en programmation Java.

Créez le pool de chaînes de caractères

Le pool de chaînes de caractères est un emplacement mémoire à l'intérieur de la mémoire heap qui stocke toutes les chaînes de caractères et optimise la mémoire utilisée par les chaînes de caractères. Dans cette étape, créez quelques chaînes de caractères dans le pool de chaînes de caractères en assignant la même valeur à plusieurs variables. Utilisez le code suivant.

String str1 = "String";
String str2 = "String";

Créez une chaîne de caractères distincte

Dans certaines situations, nous pouvons vouloir attribuer un espace distinct à une chaîne de caractères. Dans cette étape, créez une chaîne de caractères distincte en utilisant le mot clé new. Utilisez le code suivant.

String str3 = new String("String");

Remarque: La création d'une chaîne de caractères distincte consomme plus de mémoire que l'utilisation du pool de chaînes de caractères.

Rendre les chaînes de caractères sécurisées

Les chaînes de caractères sont souvent utilisées pour stocker des informations sensibles telles que des noms d'utilisateur, des mots de passe et des URL. Rendez les chaînes de caractères sécurisées en les rendant immuables. Dans cette étape, utilisez une chaîne de caractères immutable pour stocker un mot de passe. Utilisez le code suivant.

final String password = "SecurePassword";

Remarque: Le mot clé final rend la chaîne de caractères immutable. Personne ne peut modifier la valeur de la chaîne de caractères une fois qu'elle a été assignée.

Rendre les chaînes de caractères sécurisées pour les threads

En Java, les objets immuables sont sécurisés pour les threads. Plusieurs threads peuvent accéder simultanément à la chaîne de caractères. Dans cette étape, créez une méthode qui accède à une chaîne de caractères immutable à partir de plusieurs threads.

class ThreadSafe implements Runnable {
  public void run() {
    System.out.println("Thread Safe Immutable String: " + password);
  }
}

Remarque: Le code ci-dessus crée un nouvel objet sécurisé pour les threads et définit la chaîne de caractères password comme sa valeur. La méthode run de l'objet imprime simplement la valeur de la chaîne de caractères.

Mise en cache du code de hachage

L'immuabilité des chaînes de caractères les rend parfaites pour être utilisées dans des collections. En particulier, dans les collections qui utilisent le hachage pour stocker des objets. Dans cette étape, utilisez une chaîne de caractères immutable comme clé dans une HashMap. Utilisez le code suivant.

HashMap<String, Integer> map = new HashMap<String, Integer>();

map.put(str1, 1);
map.put(str2, 2);

Remarque : Étant donné que la classe String est immutable, le code de hachage de la chaîne de caractères reste le même. L'utilisation d'objets mutables comme clés dans une HashMap peut entraîner des inconvénients car la valeur peut changer après avoir été insérée.

Compiler et exécuter un fichier Java

Dans cette étape, accédez au répertoire ~/projet et compilez le fichier ImmutableString.java à l'aide de la commande suivante.

javac ImmutableString.java

Remarque : La commande javac compile le fichier Java et génère un fichier .class.

Utilisez la commande suivante pour exécuter le programme Java.

java ImmutableString

La sortie du programme devrait être la suivante :

Thread Safe Immutable String: SecurePassword

Modifier la référence de variable

Les chaînes de caractères immuables ne peuvent pas être modifiées. Dans cette étape, essayez de modifier la valeur d'une chaîne de caractères immutable en mettant à jour la référence de l'objet. Utilisez le code suivant pour mettre à jour la référence de la chaîne de caractères.

name = "NewName";

Ce code générera une erreur, car les chaînes de caractères en Java sont immuables.

Sommaire

Les chaînes de caractères immuables offrent de nombreux avantages en programmation Java. Elles sont sécurisées pour les threads, sûres et optimisent l'utilisation de la mémoire. En utilisant des chaînes de caractères immuables dans votre programme Java, vous pouvez réduire la possibilité d'erreurs et créer une application plus efficace et sécurisée.