Metoda Java String intern () vrne kanonično predstavitev predmeta niza.
Sintaksa intern()
metode string je:
string.intern()
Tu je niz predmet String
razreda.
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 str1
in str2
imajo enako vsebino, bodo oba nizi delijo isto spomin. Java samodejno internira nizovne literale.
Če pa ustvarite nize z uporabo new
ključ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.