作者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