Metoden Java String intern () returnerer en kanonisk representasjon av strengobjektet.
Syntaksen til strengmetoden intern()
er:
string.intern()
Her er streng et objekt i String
klassen.
intern () Parametere
Den intern()
metoden ikke tar noen parametere.
intern () Returverdi
- returnerer en kanonisk representasjon av strengen
Hva er Java String Interning?
String interning sørger for at alle strenger med samme innhold bruker samme minne.
Anta, vi disse to strengene:
String str1 = "xyz"; String str2 = "xyz";
Siden begge str1
og str2
har samme innhold, vil begge disse strengene har samme minne. Java praktiserer automatisk strenglitteralene.
Imidlertid, hvis du oppretter strenger ved å bruke new
nøkkelordet, deler ikke disse strengene det samme minnet. For eksempel,
class Main ( public static void main(String() args) ( String str1 = new String("xyz"); String str2 = new String("xyz"); System.out.println(str1 == str2); // false ) )
Som du kan se fra dette eksemplet, har både str1 og str2 samme innhold. Imidlertid er de ikke like fordi de ikke deler det samme minnet.
I dette tilfellet kan du bruke intern()
metoden manuelt slik at samme minne brukes til strenger med samme innhold.
Eksempel: 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 ) )
Som du kan se, har både str1 og str2 samme innhold, men de er ikke like i utgangspunktet.
Vi bruker deretter intern()
metoden slik at str1 og str2 bruker samme minnepool. Etter at vi har brukt intern()
er str1 og str2 like.