→ ssccg: new String主要是為了別的data type轉成String,例如byte[]02/01 09:38
→ ssccg: StringBuffer/StringBuilder是因為String是immutable,只要02/01 09:39
→ ssccg: 多次操作後的最終結果,不需要中間結果時用的02/01 09:40
→ ssccg: 就只是少new幾次,最終toString還是個new02/01 09:42
→ ssccg: 這跟好壞無關,需要不存在的String物件就是得new02/01 09:42
→ ssccg: 至於你說不new的大概是指"string",只是載入class時就已經02/01 09:44
→ ssccg: 建立好並intern,主要是內容事先已確定,跟執行期才知道內02/01 09:46
→ ssccg: 容所以不得不new是不同的,常數和變數的差別02/01 09:47
→ ssccg: 除非會建立大量由變數產生、但內容相同的String,不然不用02/01 09:51
→ ssccg: 去想intern02/01 09:51
→ ssccg: ↑建立持續存在記憶體,如果用完就要GC也不用intern了02/01 09:54
原來如此,你這些回文我前後大概看了三次多,然後去複習一下型態轉換才徹底瞭解到,
真是太感謝你了
※ 編輯: andy15281528 (114.137.80.92), 02/02/2019 18:05:00
→ y3k: 有個東西叫String Pool 可以去深入了解一下' 02/03 19:51
推 OZND: 推 02/12 21:55
推 Anchorites: 推實用 最近也剛學 02/24 00:32
推 opopkc: 回文有大神,推 06/14 15:28