Pengumpulan rentetan ialah proses di mana satu salinan bagi setiap nilai rentetan yang berbeza disimpan. Jika tidak, rentetan tidak boleh diubah. Dengan cara ini rentetan boleh mengandungi data yang sama dan berkongsi memori yang sama. Dengan cara ini, ingatan yang diperlukan akan sangat berkurangan.
Apabila fungsi 'intern' dipanggil:
Ia menyemak kesamaan antara dua rentetan - iaitu sama ada objek rentetan wujud dalam String Constant Pool (SCP).
Jika ada, tali akan diambil dari kolam dan dikembalikan. Jika tidak, objek rentetan baharu dibuat dan ditambahkan pada kolam. Rujukan kepada objek rentetan juga dikembalikan.
Untuk dua rentetan 'a' dan 'b', a.intern() == b.intern() adalah benar jika dan hanya jika a.equals(b) kembali benar.
Mari kita lihat contoh:
Demonstrasi
public class Demo{ public static void main(String[] args){ String s1 = new String("Its"); String s2 = s1.concat("sample"); String s3 = s2.intern(); System.out.println("Checking equality of object 2 and 3 :"); System.out.println(s2 == s3); String s4 = "Its a sample"; System.out.println("Checking equality of object 3 and 4 :"); System.out.println(s3 == s4); } }
Checking equality of object 2 and 3 : true Checking equality of object 3 and 4 : false
Sebuah kelas bernama Demo mengandungi fungsi utama. Tiga contoh objek String ditakrifkan di sini, di mana rentetan kedua ialah gabungan rentetan pertama dengan nilai yang berbeza. Rentetan ketiga memanggil fungsi 'intern' pada rentetan kedua. Rentetan ini dibandingkan menggunakan operator '==' dan hasilnya dipaparkan pada konsol.
Atas ialah kandungan terperinci Di Jawa, pelaksanaan string. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!