Stagiu Java String ()

Metoda Java String intern () returnează o reprezentare canonică a obiectului șir.

Sintaxa intern()metodei șirului este:

 string.intern()

Aici, șirul este un obiect al Stringclasei.

intern () Parametri

intern()Metoda nu ia nici un parametru.

intern () Valoare de returnare

  • returnează o reprezentare canonică a șirului

Ce este Java String Interning?

Internația String se asigură că toate șirurile care au același conținut utilizează aceeași memorie.

Să presupunem că noi aceste două șiruri:

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

Deoarece ambele str1și str2au același conținut, ambele șiruri vor partaja aceeași memorie. Java internează automat literele șirului.

Cu toate acestea, dacă creați șiruri cu ajutorul newcuvântului cheie, aceste șiruri nu vor partaja aceeași memorie. De exemplu,

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

După cum puteți vedea din acest exemplu, atât str1, cât și str2 au același conținut. Cu toate acestea, nu sunt egali, deoarece nu împărtășesc aceeași memorie.

În acest caz, puteți utiliza manual intern()metoda, astfel încât aceeași memorie să fie utilizată pentru șirurile care au același conținut.

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

După cum puteți vedea, atât str1, cât și str2 au același conținut, dar inițial nu sunt egale.

Apoi folosim intern()metoda astfel încât str1 și str2 să utilizeze același pool de memorie. După ce folosim intern(), str1 și str2 sunt egale.

Articole interesante...