Java String intern ()

De Java String intern () - methode retourneert een canonieke weergave van het stringobject.

De syntaxis van de stringmethode intern()is:

 string.intern()

String is hier een object van de Stringklasse.

intern () Parameters

De intern()methode heeft geen parameters.

intern () Retourwaarde

  • geeft een canonieke weergave van de tekenreeks terug

Wat is Java String Interning?

De String interning zorgt ervoor dat alle strings met dezelfde inhoud hetzelfde geheugen gebruiken.

Stel dat we deze twee strings:

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

Omdat beide str1en str2dezelfde inhoud hebben, zullen beide strings hetzelfde geheugen delen. Java interneert automatisch de letterlijke tekenreeksen.

Als u echter tekenreeksen maakt met behulp van het newtrefwoord, zullen deze tekenreeksen niet hetzelfde geheugen delen. Bijvoorbeeld,

 class Main ( public static void main(String() args) ( String str1 = new String("xyz"); String str2 = new String("xyz"); System.out.println(str1 == str2); // false ) )

Zoals u in dit voorbeeld kunt zien, hebben zowel str1 als str2 dezelfde inhoud. Ze zijn echter niet gelijk omdat ze niet dezelfde herinnering delen.

In dit geval kunt u de intern()methode handmatig gebruiken , zodat hetzelfde geheugen wordt gebruikt voor strings met dezelfde inhoud.

Voorbeeld: 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 ) )

Zoals u kunt zien, hebben zowel str1 als str2 dezelfde inhoud, maar zijn ze aanvankelijk niet gelijk.

We gebruiken dan de intern()methode zodat str1 en str2 dezelfde geheugenpool gebruiken. Nadat we hebben gebruikt intern(), zijn str1 en str2 gelijk.

Interessante artikelen...