Maison > Java > javaDidacticiel > Quand devez-vous utiliser la méthode `intern()` pour les chaînes Java ?

Quand devez-vous utiliser la méthode `intern()` pour les chaînes Java ?

Mary-Kate Olsen
Libérer: 2024-12-06 10:37:11
original
685 Les gens l'ont consulté

When Should You Use the `intern()` Method for Java Strings?

Quand utiliser la méthode interne pour les chaînes littérales

Les chaînes créées à l'aide de la syntaxe littérale ("String") sont automatiquement internées dans le pool de chaînes par JVM. Par conséquent, l'opérateur == se comporte de manière cohérente pour les littéraux de chaîne.

Cependant, l'internement n'est pas automatique pour les chaînes créées avec new String(). C'est là que la méthode intern() devient pertinente.

L'utilisation de la méthode intern() sur une chaîne créée avec new String() ajoutera cette chaîne au pool et renverra l'instance d'objet existante si la même chaîne est déjà existe dans le pool.

Par exemple :

String s1 = "Rakesh";
String s2 = "Rakesh";
String s3 = "Rakesh".intern();
String s4 = new String("Rakesh");
String s5 = new String("Rakesh").intern();

if (s1 == s2) {
    System.out.println("s1 and s2 are same");
}

if (s1 == s3) {
    System.out.println("s1 and s3 are same");
}

if (s1 == s4) {
    System.out.println("s1 and s4 are same");
}

if (s1 == s5) {
    System.out.println("s1 and s5 are same");
}
Copier après la connexion

La sortie sera :

s1 and s2 are same
s1 and s3 are same
s1 and s5 are same
Copier après la connexion

Dans tous les cas sauf pour s4, où la chaîne a été explicitement créée à l'aide de new et non internée, le pool de constantes de chaîne de la JVM renvoie la même instance immuable.

Reportez-vous aux techniques Java « Égalité des chaînes et internement » pour des informations plus détaillées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal