[转录]Re: [问题] String的intern()有何好处?

楼主: weii (迷惑失道)   2010-01-14 12:53:46
※ [本文转录自 java 看板]
作者: sbrhsieh (偶尔想摆烂一下) 看板: java
标题: Re: [问题] String的intern()有何好处?
时间: Sat Jan 9 16:45:02 2010
※ 引述《shorttime (乡民)》之铭言:
: 我想问的是...
: 在什么情况下
: 我们宁愿开两个物件 使用这段code:
: String s1 = new String("XXXX")
: String s2 = new String("XXXX")
: 而不愿意使用下列这段code呢?
: String s1 = "XXXX";
: String s2 = "XXXX";
String(String) 这个 constructor 很少需要用到,通常也不会是用在这种
使用 string literal 的情况。
比较多见的用法是在 copy sub-string:
String aLongLongLongString = ...;
String s = new String(aLongLongLongString.substring(10, 20));
用以避免发生 memory leak。
作者: PsMonkey (痞子军团团长)   2010-01-09 17:03:00
可以解释一下为什么这样可以避免 memory leak 吗?直接 assign substring() 会出什么问题? @_@?
作者: weiyucsie (选择那刻 才算开始)   2010-01-09 18:18:00
推一个:)
作者: PsMonkey (痞子军团团长)   2010-01-09 19:06:00
还真的是不说不知道,受教了 Orz
作者: darkk6 (Mr. Pan)   2010-01-09 19:58:00
推一个,不说真的不会想到。
作者: freesamael (烧卖)   2010-01-09 21:09:00
Java 好奥妙...XD
作者: shorttime (乡民)   2010-01-09 21:11:00
意思是..String s 会指涉到char array 所以memory leak?恩 多谢指教更正 String s指到char array记忆区块的某一小部份
作者: sppgenius   2010-01-09 21:57:00
看到才想起来之前上课时老师有说过Orz
作者: KanoLoa (卡)   2010-01-09 22:34:00
XD 怎会知道这种东西
作者: silver8250   2010-01-10 12:49:00
大推!
作者: TonyQ (自立而后立人。)   2010-01-10 19:20:00
有学到东西有推 XD
作者: superlubu (叔叔你人真好)   2010-01-11 08:33:00
有受有推 :D
作者: chrisQQ (ChrisLiu)   2010-01-12 12:57:00
推!

Links booklink

Contact Us: admin [ a t ] ucptt.com