Rumah  >  Artikel  >  Java  >  Mengapakah literal rentetan disimpan dalam kolam pemalar rentetan di Jawa?

Mengapakah literal rentetan disimpan dalam kolam pemalar rentetan di Jawa?

WBOY
WBOYke hadapan
2023-09-11 21:17:02718semak imbas

Mengapakah literal rentetan disimpan dalam kolam pemalar rentetan di Jawa?

Terdapat dua cara untuk mencipta objek String dalam Java

  • Gunakan operator baharu#🎜
  • String str = new String("Tutorials Point");
    Dengan menggunakan literal rentetan
  • String str = "Tutorials Point";
Setiap kali kita memanggil String() baharu dalam Java, ia akan berada dalam ingatan timbunan Objek adalah dicipta dan rentetan literal masuk ke dalam String Constant Pool (SCP).

Untuk objek, JVM menggunakan SCP, iaitu untuk pengurusan memori yang cekap dalam Java. Tidak seperti objek Java yang lain, mereka tidak mengurus objek String dalam kawasan timbunan, tetapi memperkenalkan kolam pemalar String. Ciri penting kumpulan pemalar String ialah jika sudah ada pemalar String dalam kolam, objek String yang sama tidak akan dicipta.

Contoh

public class SCPDemo {
   public static void main (String args[]) {
      String s1 = "Tutorials Point";
      String s2 = "Tutorials Point";
      System.out.println("s1 and s2 are string literals:");
      System.out.println(s1 == s2);
      String s3 = new String("Tutorials Point");
      String s4 = new String("Tutorials Point");
      System.out.println("s3 and s4 with new operator:");
      System.out.println(s3 == s4);
   }
}

Output

s1 and s2 are string literals:
true
s3 and s4 with new operator:
false

Atas ialah kandungan terperinci Mengapakah literal rentetan disimpan dalam kolam pemalar rentetan 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