Java String intern ()

Metode Java String intern () mengembalikan representasi kanonik dari objek string.

Sintaks dari intern()metode string adalah:

 string.intern()

Di sini, string adalah objek Stringkelas.

intern () Parameter

The intern()Metode tidak mengambil parameter apapun.

intern () Nilai Kembali

  • mengembalikan representasi kanonik dari string tersebut

Apa itu Java String Interning?

String interning memastikan bahwa semua string yang memiliki konten yang sama menggunakan memori yang sama.

Misalkan, kita memiliki dua string ini:

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

Karena kedua str1dan str2memiliki isi yang sama, kedua string ini akan berbagi memori yang sama. Java secara otomatis memasukkan string literal.

Namun, jika Anda membuat string dengan menggunakan newkata kunci, string ini tidak akan berbagi memori yang sama. Sebagai contoh,

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

Seperti yang Anda lihat dari contoh ini, baik str1 dan str2 memiliki konten yang sama. Namun, keduanya tidak sama karena tidak berbagi memori yang sama.

Dalam kasus ini, Anda dapat menggunakan intern()metode secara manual sehingga memori yang sama digunakan untuk string yang memiliki konten yang sama.

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

Seperti yang Anda lihat, baik str1 dan str2 memiliki konten yang sama, tetapi pada awalnya tidak sama.

Kami kemudian menggunakan intern()metode sehingga str1 dan str2 menggunakan kumpulan memori yang sama. Setelah kita gunakan intern(), str1 dan str2 sama.

Artikel yang menarik...