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

Bilakah Anda Harus Menggunakan Kaedah `intern()` untuk Rentetan Java?

Mary-Kate Olsen
Lepaskan: 2024-12-06 10:37:11
asal
690 orang telah melayarinya

When Should You Use the `intern()` Method for Java Strings?

Bila Menggunakan Kaedah intern untuk String Literal

String yang dibuat menggunakan sintaks literal ("String") secara automatik dimasukkan ke dalam String pool oleh JVM. Akibatnya, operator == berkelakuan secara konsisten untuk literal String.

Walau bagaimanapun, interning tidak automatik untuk Strings yang dibuat dengan String() baharu. Di sinilah kaedah intern() menjadi relevan.

Menggunakan kaedah intern() pada String yang dibuat dengan String() baharu akan menambah String itu ke kolam dan mengembalikan contoh objek sedia ada jika String yang sama sudah wujud dalam kolam.

Contohnya:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

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

}

 

if (s1 == s3) {

    System.out.println("s1 and s3 are same");

}

 

if (s1 == s4) {

    System.out.println("s1 and s4 are same");

}

 

if (s1 == s5) {

    System.out.println("s1 and s5 are same");

}

Salin selepas log masuk

Output akan be:

1

2

3

s1 and s2 are same

s1 and s3 are same

s1 and s5 are same

Salin selepas log masuk

Dalam semua kes kecuali s4, di mana String telah dibuat secara eksplisit menggunakan baharu dan tidak diinternet, kumpulan pemalar rentetan JVM mengembalikan contoh tidak berubah yang sama.

Rujuk JavaTechniques "String Equality and Interning" untuk mendapatkan maklumat yang lebih terperinci.

Atas ialah kandungan terperinci Bilakah Anda Harus Menggunakan Kaedah `intern()` untuk Rentetan 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