比較兩個字符串時,我被教導不應該使用邏輯運算符(==)。我們應該使用String.equals(String)進行比較。但是,我發現下面的代碼符合並使用最新的JDK(1.6_23)打印「Hello Friend
」。我試着四處搜尋,找不到任何參考。從何時發生?在Java中與邏輯運算符進行字符串比較
public class StringComp{
public static void main(String args[]){
String s = "hello";
if(s=="hello"){
System.out.println("Hello Friend");
}else{
System.out.println("No Hello");
}
}
}
http://stackoverflow.com/questions/767372/java-string-equals-versus – 2011-01-20 08:43:24
另請參閱http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java (接受的答案是指實習) – finnw 2011-01-20 08:53:50
我不認爲這是一個騙局。這個問題是問「爲什麼它有時會工作」而不是「爲什麼它通常不起作用」 – finnw 2011-01-20 08:56:09