Java stringi praktikant ()

Java String intern () meetod tagastab stringi objekti kanoonilise kujutise.

Stringi intern()meetodi süntaks on:

 string.intern()

Siin on string Stringklassi objekt .

praktikant () Parameetrid

intern()Meetod ei võta parameetrid.

praktikant () Tagastusväärtus

  • tagastab stringi kanoonilise kujutise

Mis on Java String Interning?

Stringi interneerimine tagab, et kõik sama sisuga stringid kasutavad sama mälu.

Oletame, et me oleme need kaks stringi:

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

Kuna mõlemad str1ja str2on sama sisu, nii need stringid jagavad sama mälu. Java praktiseerib stringi literaale automaatselt.

Kui loote stringe newmärksõna abil, ei jaga need stringid siiski sama mälu. Näiteks,

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

Nagu näite põhjal näha, on nii str1 kui ka str2 sama sisu. Kuid nad pole võrdsed, sest neil pole sama mälu.

Sellisel juhul saate intern()meetodit käsitsi kasutada nii, et sama sisuga stringide jaoks kasutatakse sama mälu.

Näide: 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 ) )

Nagu näete, on nii str1 kui ka str2 sama sisuga, kuid esialgu pole need võrdsed.

Seejärel kasutame intern()meetodit nii, et str1 ja str2 kasutavad sama mälupaki. Pärast kasutamist oleme intern()str1 ja str2 võrdsed.

Huvitavad Artiklid...