Java String intern ()

Metóda Java String intern () vracia kanonické znázornenie objektu reťazca.

Syntax reťazcovej intern()metódy je:

 string.intern()

Reťazec je tu predmetom Stringtriedy.

intern () Parametre

intern()Metóda neberie žiadne parametre.

Intern () návratová hodnota

  • vráti kanonické znázornenie reťazca

Čo je to Java String Interning?

Interning reťazca zaisťuje, že všetky reťazce s rovnakým obsahom používajú rovnakú pamäť.

Predpokladajme, že tieto dva reťazce:

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

Vzhľadom k tomu, ako str1a str2majú rovnaký obsah, budú oba tieto reťazce majú rovnakú pamäť. Java automaticky internuje reťazcové literály.

Ak však vytvoríte reťazce pomocou newkľúčového slova, tieto reťazce nebudú zdieľať rovnakú pamäť. Napríklad,

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

Ako vidíte z tohto príkladu, str1 aj str2 majú rovnaký obsah. Nie sú si však rovní, pretože nezdieľajú rovnakú pamäť.

V takom prípade môžete intern()metódu použiť manuálne , aby sa rovnaká pamäť použila pre reťazce s rovnakým obsahom.

Príklad: 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 ) )

Ako vidíte, str1 aj str2 majú rovnaký obsah, ale spočiatku sa nerovnajú.

Potom použijeme intern()metódu tak, aby str1 a str2 používali rovnakú pamäťovú oblasť. Po použití intern()sú si str1 a str2 rovnaké.

Zaujímavé články...