Re: [問題] String的intern()有何好處?

看板java作者 (snowlike)時間16年前 (2010/01/09 10:58), 編輯推噓3(305)
留言8則, 3人參與, 最新討論串2/5 (看更多)
實際上 String st1="abc"; String st2=st1; 和 String st1="abc"; String st2="abc"; 都是同為指向字串"abc" 我的認知是這樣的.. String st1="abc"; String st2=new String("abc") boolean is=(st1.intern()==st2.intern()) //true -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.184.50

01/09 11:15, , 1F
其實我想問,intern()獨特的優點在哪裡?
01/09 11:15, 1F

01/09 11:18, , 2F
因為這個code, 可以用st1.equals(st2)代替
01/09 11:18, 2F

01/09 11:20, , 3F
總之 謝謝您的指教
01/09 11:20, 3F

01/09 11:22, , 4F
st2="abcd".substring(0, 3).intern(); //新字串的整理吧
01/09 11:22, 4F

01/09 11:45, , 5F
意思是:字串被修改後 str2可以繼續和str1共用字串
01/09 11:45, 5F

01/09 11:47, , 6F
然後可以達到共用物件的效 這也是intern的功能之一吧?
01/09 11:47, 6F

01/09 11:57, , 7F
equals 可以代替沒錯,但是速度差太多囉
01/09 11:57, 7F

01/09 11:59, , 8F
shorttime請先搜尋"string immutable", 字串"本身"不能被修改
01/09 11:59, 8F
文章代碼(AID): #1BH_3nVf (java)
文章代碼(AID): #1BH_3nVf (java)