Pelatih Java String ()

Kaedah Java String intern () mengembalikan representasi kanonik objek rentetan.

Sintaks intern()kaedah rentetan adalah:

 string.intern()

Di sini, rentetan adalah objek Stringkelas.

intern () Parameter

The intern()kaedah tidak mengambil apa-apa parameter.

intern () Nilai Pulangan

  • mengembalikan perwakilan kanonik rentetan

Apa itu Java String Interning?

String interning memastikan bahawa semua rentetan yang mempunyai kandungan yang sama menggunakan memori yang sama.

Katakan, kita mempunyai dua rentetan:

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

Oleh kerana keduanya str1dan str2mempunyai kandungan yang sama, kedua rentetan ini akan berkongsi memori yang sama. Java secara automatik memasukkan literatur rentetan.

Namun, jika anda membuat rentetan dengan menggunakan newkata kunci, rentetan ini tidak akan mempunyai 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, kedua str1 dan str2 mempunyai kandungan yang sama. Namun, mereka tidak sama kerana mereka tidak mempunyai memori yang sama.

Dalam kes ini, anda boleh menggunakan intern()kaedah secara manual sehingga memori yang sama digunakan untuk rentetan yang mempunyai kandungan yang sama.

Contoh: Intern Java String ()

 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, kedua str1 dan str2 mempunyai kandungan yang sama, tetapi pada awalnya tidak sama.

Kami kemudian menggunakan intern()kaedah tersebut agar str1 dan str2 menggunakan kumpulan memori yang sama. Selepas kita menggunakan intern(), str1 dan str2 sama.

Artikel menarik...