首頁 >Java >java教程 >為什麼不用「new」關鍵字就可以在 Java 中建立字串?

為什麼不用「new」關鍵字就可以在 Java 中建立字串?

Barbara Streisand
Barbara Streisand原創
2024-11-16 21:51:03584瀏覽

Why Can You Create Strings in Java Without the

字串:不含「new」關鍵字的物件

Java 字串確實是對象,但它們是唯一的,因為它們可以在不使用“new”關鍵字的情況下建立“新”關鍵字。這就提出了一個問題:為什麼?

最初,字串可能看起來像其他物件一樣創建:

Object obj = new Object();

但是,字串不是以這種方式初始化的:

String str = "Hello World";

字串文字的實習

理解這一點差異,我們需要深入研究字串駐留的概念。駐留意味著特定字串文字(例如“abcd”)的每次出現都會引用該字串的單一實例,而不是每次都建立一個新實例。

在 Java 中,用雙引號宣告的字串是被視為文字並自動被保留。這表示:

String a = "abcd";
String b = "abcd";

將導致:

a == b; // True

使用「new」建立字串

儘管為字串啟用了實習文字,您仍然可以使用「new」建立字串關鍵字:

String a = new String("abcd");
String b = new String("abcd");

但是,在這種情況下,可以有:

a == b; // False

實習的好處

實習字串文字提供了幾個好處:

  • 效能:透過為每個唯一字串使用單一實例,JVM分配更少的記憶體並執行更少的物件創建。
  • 記憶體節省: 實習可確保每個不同的字串僅存在一個實例,從而減少記憶體
  • 相等性檢查:對字符串文字使用「==」是有效的,因為它會檢查物理相等性,這是透過實習保證的。

注意: 始終建議使用 .equals() 方法來比較字串,即使是內部字串,因為它會檢查內容平等。

以上是為什麼不用「new」關鍵字就可以在 Java 中建立字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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