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

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

Mary-Kate Olsen
發布: 2024-12-06 10:37:11
原創
655 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板