Java String:物件導向程式設計中的獨特實體
儘管是一個類,但 Java String 物件可以使用雙引號初始化。這個看似悖論可以透過檢查 Java 字串的特殊性質來解釋。
Java 的設計注意事項
Java 的創建者認識到在物件中保留基本類型的效率優勢 -導向的環境。與駐留在程式堆中並需要複雜記憶體管理的物件相比,儲存在呼叫堆疊中的基元提供緊湊的儲存和易於操作的功能。
字串:混合實體
為了獲得最佳效能,Java 的 String 物件被設計為基元和類別之間的混合體。雖然它與基元共享某些特徵,例如高效的儲存和操作,但它也表現出類似物件的屬性。
字串文字和物件
考慮以下範例:
String s1 = "Hello"; // String literal String s2 = "Hello"; // String literal String s3 = s1; // Same reference String s4 = new String("Hello"); // String object String s5 = new String("Hello"); // String object
字串文字(本例中為「Hello」)儲存在在公共池中,從而實現相同字串的儲存共享。相較之下,透過「new」運算子建立的 String 物件儲存在堆中,並且不會從儲存共用中受益。
注意: 字串文字儲存在字串常數池中,是記憶體中儲存常數的位置。這確保瞭如果兩個或多個變數引用相同的字串值,它們實際上引用記憶體中的同一個對象,而不是創建多個副本。
以上是Java 的字串物件如何協調其類似原始的行為與其物件導向的本質?的詳細內容。更多資訊請關注PHP中文網其他相關文章!