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

Apakah tujuan kaedah String intern() di Jawa?

PHPz
PHPzke hadapan
2023-09-20 13:29:03941semak imbas

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));
   }
}

Output

false

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);
   }
}

output

true

Atas ialah kandungan terperinci Apakah tujuan kaedah String intern() 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