字串:不含「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
實習的好處
實習字串文字提供了幾個好處:
注意: 始終建議使用 .equals() 方法來比較字串,即使是內部字串,因為它會檢查內容平等。
以上是為什麼不用「new」關鍵字就可以在 Java 中建立字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!