String Literal Interning et méthode intern()
Java possède une fonctionnalité utile connue sous le nom de String literal interning, qui stocke automatiquement les littéraux de chaîne dans le pool de chaînes. Cependant, la méthode intern() reste un outil important pour gérer les Strings.
La méthode intern() est destinée à récupérer une String du pool si elle y existe. Sinon, un nouvel objet String est ajouté au pool et une référence à celui-ci est renvoyée.
Bien que les littéraux String soient internés par défaut, la méthode intern() devient utile pour les chaînes créées avec new String() . Prenons l'exemple suivant :
String s1 = "Rakesh"; String s2 = "Rakesh"; String s3 = "Rakesh".intern(); String s4 = new String("Rakesh"); String s5 = new String("Rakesh").intern();
L'utilisation de l'opérateur == pour ces variables produit les résultats suivants :
s1 and s2 are same s1 and s3 are same s1 and s5 are same
Ici, seul s4 se comporte différemment car il a été explicitement créé avec new et pas interné.
En conclusion, la méthode intern() garantit qu'une seule instance de String immuable est renvoyée du pool de constantes String, quelle que soit la façon dont la String est créé, sauf en utilisant new et en omettant l'appel intern().
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!