Rumah > Java > javaTutorial > Apakah tujuan kaedah String intern() di Jawa?

Apakah tujuan kaedah String intern() di Jawa?

PHPz
Lepaskan: 2023-09-20 13:29:03
ke hadapan
949 orang telah melayarinya

String ialah kelas yang menyimpan jujukan aksara dalam Java Ia tergolong dalam pakej java.lang. Setelah objek String dicipta, ia tidak boleh diubah suai (tidak boleh diubah).

Storage

Semua objek String disimpan di lokasi memori yang berasingan di kawasan timbunan, dipanggil String Kolam Malar .

Setiap kali nilai rentetan ditakrifkan, JVM mencipta objek rentetan dengan nilai yang diberikan dalam kolam pemalar rentetan. Jadi jika anda menjalankan program di atas, dua nilai rentetan akan dibuat dalam kolam pemalar rentetan.

String intern() 方法在 Java 中的作用是什么?

intern() Kaedah

Kaedah ini mengembalikan nilai rentetan semasa daripada kumpulan nilai rentetan unik. Setiap kali anda memanggil kaedah ini pada String tertentu, ia akan dikembalikan jika kolam pemalar String sudah mengandungi String yang sama dengannya (mengikut kaedah sama dengan kelas Objek). Jika tidak, rentetan semasa ditambah pada kolam pemalar rentetan dan rujukan kepadanya dikembalikan.

Iaitu, jika anda memanggil kaedah ini pada dua rentetan dengan kandungan yang sama, ia dijamin berkongsi ingatan yang sama.

Kaedah ini boleh mengurangkan memori yang diduduki dengan mudah apabila berbilang nilai pendua muncul.

Contoh

Di bawah kami akan mencipta dua rentetan dengan kandungan yang sama (menggunakan kata kunci baharu) dan membandingkannya menggunakan operator "==". Walaupun kedua-dua objek mempunyai nilai yang sama, kerana mereka tidak merujuk objek yang sama (memori), hasilnya akan menjadi palsu.

public class InternExample {
   public static void main(String args[]) {
      String str1 = new String("Hello");
      str1 = str1.intern();
      String str2 = "Hello";
      str2 = str2.intern();
      System.out.println(str1.equals(str2));
   }
}
Salin selepas log masuk

Output

false
Salin selepas log masuk

Tetapi jika anda memanggil kaedah pelatih sebelum membandingkan dua objek kerana ia memastikan kedua-dua objek berkongsi memori yang sama jika ia mempunyai kandungan yang sama ), hasilnya akan menjadi benar.

public class InternExample {
   public static void main(String args[]) {
      String str1 = new String("Hello");
      str1 = str1.intern();
      String str2 = new String("Hello");
      str2 = str2.intern();
      System.out.println(str1==str2);
   }
}
Salin selepas log masuk

output

true
Salin selepas log masuk

Atas ialah kandungan terperinci Apakah tujuan kaedah String intern() di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan