Java String praktikant ()

Metoden Java String intern () returnerar en kanonisk representation av strängobjektet.

Syntaxen för strängmetoden intern()är:

 string.intern()

Här är sträng ett objekt i Stringklassen.

intern () Parametrar

Den intern()metoden tar inte några parametrar.

intern () Returvärde

  • returnerar en kanonisk representation av strängen

Vad är Java String Interning?

String interning säkerställer att alla strängar med samma innehåll använder samma minne.

Antag att vi dessa två strängar:

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

Eftersom båda str1och str2har samma innehåll, kommer båda dessa strängar delar samma minne. Java praktikerar automatiskt stränglitteralerna.

Men om du skapar strängar med hjälp av newnyckelordet delar inte dessa strängar samma minne. Till exempel,

 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 från detta exempel har både str1 och str2 samma innehåll. De är dock inte lika eftersom de inte delar samma minne.

I det här fallet kan du använda intern()metoden manuellt så att samma minne används för strängar med samma innehåll.

Exempel: 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 och str2 samma innehåll, men de är inte lika initialt.

Vi använder sedan intern()metoden så att str1 och str2 använder samma minnespool. När vi har använt intern()är str1 och str2 lika.

Intressanta artiklar...