Bagaimana untuk membuktikan bahawa rentetan tidak boleh diubah
Saya telah menulis dua artikel tentang kebolehubahan rentetan, dan saya hampir muntah pada akhirnya. Tetapi masih ada beberapa pelajar yang tidak faham Sesekali ada yang menghantar mesej peribadi kepada saya, dan saya perlu meletakkan artikel sebelum ini dalam kegemaran saya, saya akan menghantar pautan kepadanya.
Terdapat banyak faktor yang menyebabkan kekeliruan ini Sebagai contoh, adakah Java lulus dengan nilai atau rujukan Apakah kolam pemalar rentetan
Saya perlu membincangkannya lagi kali ini, walaupun saya sangat muak, tetapi saya masih perlu membuktikannya
public class StringImmutabilityTest { public static void main(String[] args) { String s1 = "沉默王二"; String s2 = s1; System.out.println(s1 == s2); s1 = "沉默王三"; System.out.println(s1 == s2); System.out.println(s2); } }
Hasil output adalah seperti berikut:
true false 沉默王二
1) String s1 = "Silent Wang Er", Java mencipta! " dalam kolam pemalar rentetan Objek rentetan aksara "Raja Senyap 2", dan tetapkan rujukan alamat kepada s1
2) Rentetan s2 = s1, s2 dan s1 menghala ke rujukan alamat yang sama - "senyap" dalam kolam berterusan Wang Er".
Jadi, s1 == s2 adalah benar pada masa ini.
3) s1 = "Silent Wang San", Java mencipta objek rentetan "Silent Wang San" dalam kolam pemalar rentetan, dan memberikan rujukan alamat kepada s1, tetapi s2 masih menunjuk kepada " Alamat rujukan objek rentetan "Raja Senyap II".
Jadi, pada masa ini, s1 == s2 adalah palsu, dan hasil keluaran s2 ialah "Silent Wang Er", yang membuktikan bahawa rentetan itu tidak boleh diubah.
Atas ialah kandungan terperinci Bagaimana untuk membuktikan bahawa rentetan tidak boleh diubah dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!