3 回答

TA贡献1876条经验 获得超6个赞
这可能是因为 == 比较地址时相等比较内容示例
String s1 = new String("sd");
String s2 = new String("sd");
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
当第二个返回 true 时,第一个返回 false

TA贡献1811条经验 获得超5个赞
哦,这是一个很好的。Boolean.toString(stringA == stringB)实际上是在做参考比较;也就是说,检查两个对象是否指向相同的内存位置。String.equals(),另一方面,比较值。
String A = new String("five");
String B = new String("five");
System.out.println(Boolean.toString(A == B)); // false.
System.out.println(Boolean.toString(A.equals(B))); // true
此外, theBoolean.toString(A.equals(B))可以替换为A.equals(B),这将返回相同意义上的布尔值。

TA贡献2036条经验 获得超8个赞
此行将btnText==messageReceived
始终返回 false,因为两者都没有指向同一个对象。
equals 方法匹配内容,其中 as == 运算符匹配指向同一地址的对象。阅读本文档以了解有关 == 和 equals 的更多信息。 == 与等于
希望这对你有帮助
添加回答
举报