【发布时间】:2011-01-20 08:40:27
【问题描述】:
在比较两个字符串时,有人告诉我不应该使用逻辑运算符 (==)。我们应该使用 String.equals(String) 进行比较。但是,我看到以下代码符合并使用最新的 JDK(1.6_23) 打印“Hello Friend”。我试着四处寻找,找不到任何参考。这是从什么时候开始的?
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");
}
}
}
【问题讨论】:
-
另见stackoverflow.com/questions/513832/…(接受的答案是指实习)
-
我不认为这是一个骗局。这个问题是在问“为什么它有时会起作用”而不是“为什么它通常不起作用”
-
这一定是 Java 中最常见的问题。我建议你提高你的搜索技巧。 ;) google.co.uk/search?q=java+string+comparison 1700 万次点击
-
我已经搜索了相同的内容和其他一些内容。没有一篇文章提到“字符串实习”。我知道这不是比较两个字符串的方法。我只是对这行得通感到惊讶。我花了好长时间才敢问这个问题。谢谢。