作者shorttime (鄉民)
看板java
標題[問題] String的intern()有何好處?
時間Sat Jan 9 10:22:56 2010
第一段code:
String str1 = “12345”;
String str2 = str1;
和這一段code:
String str1 = “12345”;
String str2 = “12345”.intern( );
這兩段code,應該做的事情都一樣...
都是去string pool找一個內容和str1一模一樣的物件,然後讓str2指向該物件吧?
我的問題是:
我們分配物件給str2時,為何還需要intern( )呢?
直接做str2 = str1就好了呀...
反正不管做完上述那一段code
我們之後使用 "bool check_string = (str1 = = str2)" 這個指令
check_string 這個變數 包含的值一樣都是true....
intern究竟存在的目的為何呢?
麻煩請指導一下
謝謝賜教...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.164.5.159
→ tkcn:在 assign str2 時,你不見得會有 str1 的 reference 呀 01/09 10:49
→ shorttime:不好意思..我還是不太懂 01/09 11:04
→ shorttime:那個情況下 不會有str1的reference 01/09 11:06
→ shorttime:是指str2 = new String(str1)嗎?還是其他呢? 01/09 11:08
→ sbrhsieh:考慮一下 String str2 = "12" + 345; 的情況 01/09 11:20
→ shorttime:我大概有點眉目了 謝謝你的指點 01/09 14:40