理解 Java 獨特的字串初始化
儘管 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
下面連結的圖片說明了這一點:
下面連結的圖片說明了這一點:下面連結的圖片說明了這一點:下面連結的圖片說明了這一點:[字串池和堆疊儲存的圖像]字串文字(s1 和s2)在公共池中共享存儲,從而節省記憶體。但是,String 物件(s4 和 s5)駐留在堆中並且不被共用。以上是儘管字串是對象,但如何在 Java 中使用雙引號來初始化字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!