看板 java 關於我們 聯絡資訊
初學者問題 public class EqualsTest{ public static void main(String[] args){ String s1 = "abc"; String s2 = s1; String s5 = "abc"; } 為什麼S1==S5會返回true呢? 他們的memory address不是不同? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.174.132.40
wxyy:http://tinyurl.com/b24jk4 02/24 17:28
zeat:==是用來比較位址(address), 而s1跟s5的位址都是指向String 02/24 18:17
zeat:pool的"abc", 所以才retrun true 02/24 18:18
PSpice:對String來說(雖然String也是一種物件) 02/24 20:49
PSpice:JVM使用的是String constant pool 02/24 20:52
rps12369:能解釋一下String constant pool的概念嗎 02/25 16:44
chaostorm:http://0rz.tw/P4wg7 02/25 23:08
rps12369:感謝^^ 02/26 00:09