本帖最后由 李建雄 于 2011-10-28 20:58 编辑
public class TestStr {
public static void main(String[] args){
String s1 = "Love";
String s2 = "Lo"+"ve";
String s3 = "Lo";
String s4 = "ve";
String s5 = s3 + s4;
System.out.println(s1==s2);
System.out.println(s1==s5);
System.out.println(s1.equals(s5));
}
}
运行的结果:
true
false
true
运行的结果让我很疑惑,只知道==是比较值,equals是比较对象的引用。高手帮忙分析一下!
------------------------------------------
返了,==是比较地址,
equals比较值
上面的结果中,s1与s2是指向同一个"Love" 因此第一句true
第二句为false不好理解,可能是s5中存的一个运算规则
第三名,equals比较值,true
|