如何在java中比较字符串?

时间:2014-11-10 23:00:51

标签: java

==测试参考相等。

.equals()测试值的相等性。

我看过这篇文章How do I compare strings in Java?。我还是不明白为什么你比较时会弄错

// ...但它们不是同一个对象   new String("test") == "test" // - >假的

String str1 = new String("JAVA");
String str2 = new String("JAVA");
System.out.println(str1==str2);

这是否因为名称不同或原因而发生?

2 个答案:

答案 0 :(得分:1)

这是因为==运算符比较了内存​​地址,而不是内容。

请注意,String是一个对象,而不是一个原语,这可能是人们感到困惑的原因,您可以将原语与==进行比较,它会很好,但是对于您想要比较其内容的对象。

答案 1 :(得分:-2)

使用等于。    str1.equals(str2);