用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

回到顶部