看板 java 關於我們 聯絡資訊
第一段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