在Java 中建立字串:「String s = new String("silly")」的情況
在Java 中建立字元串時,了解String 類別的行為至關重要。與 Java 中的許多其他類別不同,字串文字會自動建立 String 對象,而不需要 new 關鍵字。但是,明確不鼓勵使用 new 運算子建立新的 String 對象,因為它可能會導致不必要的記憶體消耗。
為了說明這一點,請考慮以下程式碼:
String s = "No longer silly";
在此在這種情況下,文字「不再愚蠢」被直接分配給s 變量,從而創建單個String對象。但是,以下程式碼片段:
String s = new String("silly");
建立了一個不必要的附加 String 物件。為了避免這種情況,建議盡可能使用文字賦值,如第一個範例所示。
但是,在某些情況下可能需要動態建立 String 物件。例如,考慮以下類別:
public final class CaseInsensitiveString { private String s; public CaseInsensitiveString(String s) { if (s == null) { throw new NullPointerException(); } this.s = s; } }
在這種情況下:
以上是為什麼創建`CaseInsensitiveString`物件時需要使用`new`而不是`String`物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!