Rumah >Java >javaTutorial >Mengapa kelas String tidak berubah atau muktamad di Jawa?

Mengapa kelas String tidak berubah atau muktamad di Jawa?

WBOY
WBOYke hadapan
2023-08-20 22:05:091024semak imbas

Mengapa kelas String tidak berubah atau muktamad di Jawa?

Rentetan tidak berubah bermakna kita tidak boleh menukar objek itu sendiri, tetapi kita boleh menukar rujukan kepada objek. Rentetan dibuat muktamad untuk tidak membenarkan orang lain melanjutkannya dan memusnahkan kebolehubahannya.

  • Keselamatan Parameter biasanya diwakili sebagai Rentetan dalam sambungan rangkaian, URL sambungan pangkalan data, nama pengguna/kata laluan, dsb. Jika ia boleh diubah, parameter ini boleh ditukar dengan mudah.
  • Penyegerakan dan Konkurensi menjadikan String tidak boleh ubah secara automatik menjadikan mereka thread selamat dengan itu menyelesaikan isu penyegerakan.
  • Caching apabila pengkompil mengoptimumkan objek String kami, nampaknya jika dua objek mempunyai nilai yang sama (a =" test", dan b =" test") dan oleh itu kita hanya memerlukan satu objek rentetan (untuk kedua-dua a dan b, kedua-dua ini akan menghala ke objek yang sama).
  • Pemuatan kelas Rentetan digunakan sebagai argumen untuk kelas memuatkan. Jika boleh berubah, ia boleh mengakibatkan kelas yang salah dimuatkan (kerana objek boleh ubah menukar keadaannya).

Contoh:

public class StringImmutableDemo {
   public static void main(String[] args) {
      String st1 = "Tutorials";
      String st2 = "Point";
      System.out.println("The hascode of st1 = " + st1.hashCode());
      System.out.println("The hascode of st2 = " + st2.hashCode());
      st1 = st1 + st2;
      System.out.println("The Hashcode after st1 is changed : "+ st1.hashCode());
   }
}

输出:

The hascode of st1 = -594386763
The hascode of st2 = 77292912
The Hashcode after st1 is changed : 962735579

Atas ialah kandungan terperinci Mengapa kelas String tidak berubah atau muktamad di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam