Java String intern ()

Metoden Java String intern () returnerer en kanonisk representasjon av strengobjektet.

Syntaksen til strengmetoden intern()er:

 string.intern()

Her er streng et objekt i Stringklassen.

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 str1og str2har samme innhold, vil begge disse strengene har samme minne. Java praktiserer automatisk strenglitteralene.

Imidlertid, hvis du oppretter strenger ved å bruke newnø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.

Interessante artikler...