Rumah >Java >javaTutorial >Bilakah Anda Harus Menggunakan Kaedah `intern()` untuk Rentetan Java?
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:
String s1 = "Rakesh"; String s2 = "Rakesh"; String s3 = "Rakesh".intern(); String s4 = new String("Rakesh"); String s5 = new String("Rakesh").intern(); if (s1 == s2) { System.out.println("s1 and s2 are same"); } if (s1 == s3) { System.out.println("s1 and s3 are same"); } if (s1 == s4) { System.out.println("s1 and s4 are same"); } if (s1 == s5) { System.out.println("s1 and s5 are same"); }
Output akan be:
s1 and s2 are same s1 and s3 are same s1 and s5 are same
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!