2006年12月10日 星期日

型態與物件 II 字串物件

字串物件的進階探討
程式碼執行到 s3 的位置時,只要看到 new 的字樣,就會配置一塊新的記憶體給 s3。但 Java 語言運作的時候,會產生一個字串儲存池 (String Literal Pool),且字串儲存池的內容部會重複。也因此, s 的 "Simon" 會放在字串儲存池中,同時 s2 會共用儲存池中的 "Simon"。
String s = "Simon";
String s2 = "Simon";
String s3 = new String("Simon");
String s4 = new String("Simon");
System.out.println(s3==s4);
//結果顯示 false
System.out.println(s==s2);
//結果則是 true
//利用字串儲存池將會節省記憶體

沒有留言: