首頁 >Java >java教程 >什麼時候應該對 Java 字串使用'intern()”方法?

什麼時候應該對 Java 字串使用'intern()”方法?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-06 10:37:11672瀏覽

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

何時對字串文字使用intern 方法

使用文字語法(「String」)所建立的字串會自動駐留在字串池中透過JVM。因此,== 運算子對於字串文字的行為是一致的。

但是,對於使用 new String() 建立的字串來說,駐留並不是自動的。這就是 intern() 方法發揮作用的地方。

在使用 new String() 建立的 String 上使用 intern() 方法會將該 String 新增至池中,並傳回現有的物件實例(如果已存在相同的 String)存在於池中。

例如:

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

輸出將be:

s1 and s2 are same
s1 and s3 are same
s1 and s5 are same

除了s4 之外的所有情況,其中String 是使用new 明確建立而不是interned, JVM 的字串常數池傳回相同的不可變實例。

請參閱 JavaTechniques 「字串相等和實習」以了解更多詳細資訊。

以上是什麼時候應該對 Java 字串使用'intern()”方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn