Java stīgu interns ()

Java String intern () metode atgriež virknes objekta kanonisku attēlojumu.

Virknes intern()metodes sintakse ir šāda:

 string.intern()

Šeit virkne ir Stringklases objekts .

intern () Parametri

intern()Metode neveic nekādus parametrus.

intern () Atgriešanās vērtība

  • atgriež virknes kanonisko attēlojumu

Kas ir Java stīgu internēšana?

Stīgu internēšana nodrošina, ka visas virknes ar vienādu saturu izmanto to pašu atmiņu.

Pieņemsim, ka mēs šīs divas virknes:

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

Tā gan str1, un str2ir tādas pašas saturu, abi šie stīgas būs vienādas atmiņu. Java automātiski stažē virknes literāļus.

Tomēr, ja veidojat virknes, izmantojot newatslēgvārdu, šīm virknēm nebūs kopīgas atmiņas. Piemēram,

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

Kā redzat no šī piemēra, gan str1, gan str2 satur vienādu saturu. Tomēr viņi nav vienādi, jo viņiem nav kopīgas atmiņas.

Šajā gadījumā jūs varat manuāli izmantot intern()metodi, lai virknēm ar tādu pašu saturu tiktu izmantota viena un tā pati atmiņa.

Piemērs: Java virknes interns ()

 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 ) )

Kā redzat, gan str1, gan str2 satur vienādu saturu, taču sākotnēji tie nav vienādi.

Pēc tam mēs izmantojam intern()metodi, lai str1 un str2 izmantotu to pašu atmiņas krājumu. Pēc tam, kad mēs izmantosim intern(), str1 un str2 ir vienādi.

Interesanti raksti...