比较两个字符串时,我被教导不应该使用逻辑运算符(==)。我们应该使用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