将两个字符串与' =='进行比较时是否可行?返回true但返回false为' .equals'在java中

时间:2017-03-25 03:52:07

标签: java

我对==和.equals之间的区别感到困惑,我一直在寻找答案,但仍然不太清楚。所以,我想知道是否有一个示例代码可以证明在比较两个字符串时,==和.equals会返回不同的结果。

1 个答案:

答案 0 :(得分:2)

你在这里问两个不同的问题。没有==返回true但equals返回false的示例。这是不可能的。因为(作为优化)equals检查参考标识。但即使它没有,它也会测试价值认同(这也是一样的)。

但是,有很多例子==返回false但equals返回true。因为==测试引用。一个简单的例子,

String a = "A";
String b = new String(a);
System.out.println(a == b);
System.out.println(a.equals(b));