[轉錄]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