作者breakofdawn (hi)
看板java
標題[問題] == 和 equals
時間Tue Feb 24 15:20:42 2009
初學者問題
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
2F:→ zeat:==是用來比較位址(address), 而s1跟s5的位址都是指向String 02/24 18:17
3F:→ zeat:pool的"abc", 所以才retrun true 02/24 18:18
4F:推 PSpice:對String來說(雖然String也是一種物件) 02/24 20:49
5F:推 PSpice:JVM使用的是String constant pool 02/24 20:52
6F:推 rps12369:能解釋一下String constant pool的概念嗎 02/25 16:44
8F:推 rps12369:感謝^^ 02/26 00:09