作者andy15281528 (阿狄)
看板java
标题[问题] string new的优点
时间Fri Feb 1 09:16:08 2019
最近开始学java
前阵子搞懂了string的记忆体配置
new和不new之间的差别
new的也推出intern机制减少记忆体消耗
甚至还有string buffer 和 builder的辅佐
一连串看下来,让我觉得string不要用new宣告是最好的
也去爬过文看看到底new有什麽好处
可是依然疑问
想要请问一下各位大大
string new的优点跟哪里真的需要new才会是比较好的吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.137.219.164
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1548983771.A.752.html
1F:→ ssccg: new String主要是为了别的data type转成String,例如byte[]02/01 09:38
2F:→ ssccg: StringBuffer/StringBuilder是因为String是immutable,只要02/01 09:39
3F:→ ssccg: 多次操作後的最终结果,不需要中间结果时用的02/01 09:40
4F:→ ssccg: 就只是少new几次,最终toString还是个new02/01 09:42
5F:→ ssccg: 这跟好坏无关,需要不存在的String物件就是得new02/01 09:42
6F:→ ssccg: 至於你说不new的大概是指"string",只是载入class时就已经02/01 09:44
7F:→ ssccg: 建立好并intern,主要是内容事先已确定,跟执行期才知道内02/01 09:46
8F:→ ssccg: 容所以不得不new是不同的,常数和变数的差别02/01 09:47
9F:→ ssccg: 除非会建立大量由变数产生、但内容相同的String,不然不用02/01 09:51
10F:→ ssccg: 去想intern02/01 09:51
11F:→ ssccg: ↑建立持续存在记忆体,如果用完就要GC也不用intern了02/01 09:54
原来如此,你这些回文我前後大概看了三次多,然後去复习一下型态转换才彻底了解到,
真是太感谢你了
※ 编辑: andy15281528 (114.137.80.92), 02/02/2019 18:05:00
12F:→ y3k: 有个东西叫String Pool 可以去深入了解一下' 02/03 19:51
13F:推 OZND: 推 02/12 21:55
14F:推 Anchorites: 推实用 最近也刚学 02/24 00:32
15F:推 opopkc: 回文有大神,推 06/14 15:28