Java String pripravnik ()

Metoda Java String intern () vraća kanonski prikaz objekta niza.

Sintaksa string intern()metode je:

 string.intern()

Ovdje je string objekt Stringklase.

intern () Parametri

intern()Metoda ne poduzimati nikakve parametre.

intern () Povratna vrijednost

  • vraća kanonski prikaz niza

Što je Java String Interning?

String interniranje osigurava da svi nizovi s istim sadržajem koriste istu memoriju.

Pretpostavimo, mi ove dvije žice:

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

Budući da oba str1i str2imaju isti sadržaj, oba će niza dijeliti istu memoriju. Java automatski internira string literale.

Međutim, ako stvorite nizove pomoću newključne riječi, ti nizovi neće dijeliti istu memoriju. Na primjer,

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

Kao što možete vidjeti iz ovog primjera, i str1 i str2 imaju isti sadržaj. Međutim, nisu jednaki jer ne dijele istu memoriju.

U ovom slučaju možete ručno koristiti intern()metodu tako da se ista memorija koristi za nizove s istim sadržajem.

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

Kao što vidite, i str1 i str2 imaju isti sadržaj, ali u početku nisu jednaki.

Zatim koristimo intern()metodu tako da str1 i str2 koriste isti memorijski bazen. Nakon što koristimo intern(), str1 i str2 su jednaki.

Zanimljivi članci...