用Java中的逻辑运算符进行字符串比较
当比较两个字符串时,我被告知不应使用逻辑运算符(==)。我们应该使用String.equals(String)进行比较。但是,我看到以下代码符合Hello
Friend最新的JDK(1.6_23)并打印出来。我尝试四处搜寻,但找不到任何参考。从什么时候开始发生的?
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");
}
}
}
回答:
您不应该使用==
它,因为它会做其他事情,然后您认为。
在这种情况下,“ hello”将被保存(在字符串插入中读取),因此与您的搅动相同的是“巧合”。
==
检查两个事物是否完全相同,而不是它们具有相同的内容。这确实是一个很大的差异,并且某些偶然(虽然可以解释)的“假阳性”没有理由使用此方法。
只需使用equals进行字符串比较。
从该站点获取一个示例:http : //blog.enrii.com/2006/03/15/java-string-equality-common-
mistake/
String a = new String ("a");String b = new String ("a");
System.out.println (a == b);
它返回false,而以下代码返回true。
String a = new String ("a");String b = new String ("a");
System.out.println (a.equals(b));
以上是 用Java中的逻辑运算符进行字符串比较 的全部内容, 来源链接: utcz.com/qa/400324.html