Java String praktikant ()

Metoden Java String intern () returnerer en kanonisk repræsentation af strengobjektet.

Syntaksen for strengemetoden intern()er:

 string.intern()

Her er streng et objekt i Stringklassen.

intern () Parametre

Den intern()metode tager ikke nogen parametre.

praktikant () Return Value

  • returnerer en kanonisk repræsentation af strengen

Hvad er Java String Interning?

String interning sikrer, at alle strenge med det samme indhold bruger den samme hukommelse.

Antag, vi disse to strenge:

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

Da både str1og str2har samme indhold, vil begge disse strenge deler den samme hukommelse. Java praktiserer automatisk strenglitteralerne.

Men hvis du opretter strenge ved hjælp af newnøgleordet, deler disse strenge ikke den samme hukommelse. 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 eksempel, har både str1 og str2 det samme indhold. De er dog ikke lige, fordi de ikke deler den samme hukommelse.

I dette tilfælde kan du manuelt bruge intern()metoden, så den samme hukommelse bruges til strenge, der har det samme indhold.

Eksempel: Java String praktikant ()

 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 det samme indhold, men de er ikke lige oprindelige.

Vi bruger derefter intern()metoden, så str1 og str2 bruger den samme hukommelsespulje. Når vi har brugt intern(), er str1 og str2 ens.

Interessante artikler...