Stagiaire Java String ()

La méthode Java String intern () renvoie une représentation canonique de l'objet string.

La syntaxe de la intern()méthode string est:

 string.intern()

Ici, string est un objet de la Stringclasse.

Paramètres intern ()

La intern()méthode ne prend aucun paramètre.

intern () Valeur de retour

  • renvoie une représentation canonique de la chaîne

Qu'est-ce que Java String Interning?

L'internation String garantit que toutes les chaînes ayant le même contenu utilisent la même mémoire.

Supposons, nous ces deux chaînes:

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

Puisque les deux str1et str2ont le même contenu, ces deux chaînes partageront la même mémoire. Java intègre automatiquement les littéraux de chaîne.

Cependant, si vous créez des chaînes à l'aide du newmot - clé, ces chaînes ne partageront pas la même mémoire. Par exemple,

 class Main ( public static void main(String() args) ( String str1 = new String("xyz"); String str2 = new String("xyz"); System.out.println(str1 == str2); // false ) )

Comme vous pouvez le voir dans cet exemple, str1 et str2 ont le même contenu. Cependant, ils ne sont pas égaux car ils ne partagent pas la même mémoire.

Dans ce cas, vous pouvez utiliser manuellement la intern()méthode afin que la même mémoire soit utilisée pour les chaînes ayant le même contenu.

Exemple: Java String intern ()

 class Main ( public static void main(String() args) ( String str1 = new String("xyz"); String str2 = new String("xyz"); // str1 and str2 doesn't share the same memory pool System.out.println(str1 == str2); // false // using the intern() method // now both str1 and str2 share the same memory pool str1 = str1.intern(); str2 = str2.intern(); System.out.println(str1 == str2); // true ) )

Comme vous pouvez le voir, str1 et str2 ont le même contenu, mais ils ne sont pas égaux au départ.

Nous utilisons ensuite la intern()méthode pour que str1 et str2 utilisent le même pool de mémoire. Après utilisation intern(), str1 et str2 sont égaux.

Articles intéressants...