[問題] string new的優點

看板java作者 (阿狄)時間5年前 (2019/02/01 09:16), 5年前編輯推噓3(3012)
留言15則, 5人參與, 5年前最新討論串1/1
最近開始學java 前陣子搞懂了string的記憶體配置 new和不new之間的差別 new的也推出intern機制減少記憶體消耗 甚至還有string buffer 和 builder的輔佐 一連串看下來,讓我覺得string不要用new宣告是最好的 也去爬過文看看到底new有什麼好處 可是依然疑問 想要請問一下各位大大 string new的優點跟哪裡真的需要new才會是比較好的嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.219.164 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1548983771.A.752.html

02/01 09:38, 5年前 , 1F
new String主要是為了別的data type轉成String,例如byte[]
02/01 09:38, 1F

02/01 09:39, 5年前 , 2F
StringBuffer/StringBuilder是因為String是immutable,只要
02/01 09:39, 2F

02/01 09:40, 5年前 , 3F
多次操作後的最終結果,不需要中間結果時用的
02/01 09:40, 3F

02/01 09:42, 5年前 , 4F
就只是少new幾次,最終toString還是個new
02/01 09:42, 4F

02/01 09:42, 5年前 , 5F
這跟好壞無關,需要不存在的String物件就是得new
02/01 09:42, 5F

02/01 09:44, 5年前 , 6F
至於你說不new的大概是指"string",只是載入class時就已經
02/01 09:44, 6F

02/01 09:46, 5年前 , 7F
建立好並intern,主要是內容事先已確定,跟執行期才知道內
02/01 09:46, 7F

02/01 09:47, 5年前 , 8F
容所以不得不new是不同的,常數和變數的差別
02/01 09:47, 8F

02/01 09:51, 5年前 , 9F
除非會建立大量由變數產生、但內容相同的String,不然不用
02/01 09:51, 9F

02/01 09:51, 5年前 , 10F
去想intern
02/01 09:51, 10F

02/01 09:54, 5年前 , 11F
↑建立持續存在記憶體,如果用完就要GC也不用intern了
02/01 09:54, 11F
原來如此,你這些回文我前後大概看了三次多,然後去複習一下型態轉換才徹底瞭解到, 真是太感謝你了 ※ 編輯: andy15281528 (114.137.80.92), 02/02/2019 18:05:00

02/03 19:51, 5年前 , 12F
有個東西叫String Pool 可以去深入了解一下'
02/03 19:51, 12F

02/12 21:55, 5年前 , 13F
02/12 21:55, 13F

02/24 00:32, 5年前 , 14F
推實用 最近也剛學
02/24 00:32, 14F

06/14 15:28, 5年前 , 15F
回文有大神,推
06/14 15:28, 15F
文章代碼(AID): #1SKvtRTI (java)
文章代碼(AID): #1SKvtRTI (java)