Pripravnik Java String ()

Metoda Java String intern () vrne kanonično predstavitev predmeta niza.

Sintaksa intern()metode string je:

 string.intern()

Tu je niz predmet Stringrazreda.

intern () Parametri

intern()Metoda ne sprejme nobenih parametrov.

intern () Vrnjena vrednost

  • vrne kanonično predstavitev niza

Kaj je Java String Interning?

String interning zagotavlja, da vsi nizi z enako vsebino uporabljajo isti pomnilnik.

Recimo, da imamo ta dva niza:

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

Ker je tako str1in str2imajo enako vsebino, bodo oba nizi delijo isto spomin. Java samodejno internira nizovne literale.

Če pa ustvarite nize z uporabo newključne besede, ti nizi ne bodo imeli istega pomnilnika. Na primer

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

Kot lahko vidite iz tega primera, imata str1 in str2 enako vsebino. Vendar si niso enaki, ker si ne delijo istega spomina.

V tem primeru lahko intern()metodo uporabite ročno, tako da se isti niz uporablja za nize z enako vsebino.

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

Kot lahko vidite, imata str1 in str2 enako vsebino, vendar na začetku nista enaki.

Nato uporabimo intern()metodo, tako da str1 in str2 uporabljata isto pomnilniško področje. Ko uporabimo intern(), sta str1 in str2 enaki.

Zanimive Članki...