Rumah > Java > javaTutorial > Bilakah Anda Harus Menggunakan Kaedah `intern()` String Java?

Bilakah Anda Harus Menggunakan Kaedah `intern()` String Java?

Barbara Streisand
Lepaskan: 2024-12-04 03:26:13
asal
147 orang telah melayarinya

When Should You Use Java's String `intern()` Method?

String Literals and the intern Method

Soalan:

Di Jawa, apakah situasi yang memerlukan penggunaan intern( ) kaedah pada rentetan literals?

Jawapan:

Java secara automatik melatih literal rentetan, bermakna nilainya disimpan dalam kumpulan malar dan dirujuk oleh berbilang objek rentetan. Walau bagaimanapun, kaedah intern() berguna apabila bekerja dengan rentetan yang dibuat menggunakan operator baharu.

Penjelasan:

Rentetan literal, seperti "Rakesh", secara automatik dimasukkan ke dalam penjara. Ini bermakna rujukan rentetan yang dikembalikan oleh String("Rakesh") baharu akan sentiasa menghala ke objek yang sama seperti "Rakesh" literal.

Walau bagaimanapun, rentetan yang dibuat dengan baharu tidak dimasukkan ke dalam tahanan. Kod String s4 = new String("Rakesh") mencipta objek baharu dalam ingatan, walaupun nilai "Rakesh" sudah wujud dalam kolam malar. Untuk memaksa rentetan yang baru dibuat ini dimasukkan ke dalam intern, kita boleh menggunakan kaedah intern(), seperti yang ditunjukkan dalam String s5 = new String("Rakesh").intern().

Oleh itu, kaedah intern() harus digunakan apabila kita ingin memastikan secara manual bahawa berbilang objek rentetan merujuk kepada objek yang sama dalam kolam malar, walaupun ia dicipta menggunakan baharu.

Contoh:

Pertimbangkan kod berikut:

String s1 = "Rakesh";
String s2 = "Rakesh";
String s3 = "Rakesh".intern();
String s4 = new String("Rakesh");
String s5 = new String("Rakesh").intern();

if (s1 == s2) {
    System.out.println("s1 and s2 are same"); // 1.
}

if (s1 == s3) {
    System.out.println("s1 and s3 are same"); // 2.
}

if (s1 == s4) {
    System.out.println("s1 and s4 are same"); // 3.
}

if (s1 == s5) {
    System.out.println("s1 and s5 are same"); // 4.
}
Salin selepas log masuk

Outputnya ialah:

s1 and s2 are same
s1 and s3 are same
s1 and s5 are same
Salin selepas log masuk

Baris 1, 2, dan 4 menggambarkan bahawa s1, s2, s3, dan s5 semuanya merujuk kepada objek yang sama dalam kolam malar. Baris 3 menunjukkan bahawa s4 ialah objek yang berbeza dalam ingatan, walaupun mempunyai nilai yang sama dengan s1.

Atas ialah kandungan terperinci Bilakah Anda Harus Menggunakan Kaedah `intern()` String Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan