Bila Menggunakan Kaedah intern untuk String Literal
String yang dibuat menggunakan sintaks literal ("String") secara automatik dimasukkan ke dalam String pool oleh JVM. Akibatnya, operator == berkelakuan secara konsisten untuk literal String.
Walau bagaimanapun, interning tidak automatik untuk Strings yang dibuat dengan String() baharu. Di sinilah kaedah intern() menjadi relevan.
Menggunakan kaedah intern() pada String yang dibuat dengan String() baharu akan menambah String itu ke kolam dan mengembalikan contoh objek sedia ada jika String yang sama sudah wujud dalam kolam.
Contohnya:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
Output akan be:
1 2 3 |
|
Dalam semua kes kecuali s4, di mana String telah dibuat secara eksplisit menggunakan baharu dan tidak diinternet, kumpulan pemalar rentetan JVM mengembalikan contoh tidak berubah yang sama.
Rujuk JavaTechniques "String Equality and Interning" untuk mendapatkan maklumat yang lebih terperinci.
Atas ialah kandungan terperinci Bilakah Anda Harus Menggunakan Kaedah `intern()` untuk Rentetan Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!