4232005-12-08 21:13:57
public class E06_CompareStrings {
public static void p(String s, boolean b) {
System.out.println(s + ": " + b);
}
public static void
compare(String lval, String rval) {
//! p("lval < rval: " + lval < rval);
//! p("lval > rval: " + lval > rval);
//! p("lval <= rval: " + lval <= rval);
//! p("lval >= rval: " + lval >= rval);
p("lval == rval", lval == rval);
p("lval != rval", lval != rval);
p("lval.equals(rval)", lval.equals(rval));
}
public static void main(String[] args) {
compare("Hello", "Hello");
String s = new String("Hello");
compare("Hello", s);
compare("Hello", "Goodbye");
}
} ///:~


The output of this program is:


lval == rval: true
lval != rval: false
lval.equals(rval): true
lval == rval: false
lval != rval: true
lval.equals(rval): true
lval == rval: false
lval != rval: true
lval.equals(rval): false
使我不明白的是执行到
String s = new String("Hello");
compare("Hello", s);
两个string 不是应该相等码?

请教java 高手回答,本人是初学者,谢谢
大乌鸦嘴2005-12-08 21:16:37
s.equals("Hello")