3

I've been using the == operator in my program to compare all my strings so far. However, I ran into a bug, changed one of them into .equals() instead, and it fixed the bug.

Is == bad? When should it and should it not be used? What's the difference?

4

3 回答 3

3

这实际上是一个有趣的问题。这里稍作修改:

到目前为止,我一直*在我的程序中使用运算符来添加我所有的数字。但是,我遇到了一个错误,将其中一个 +改为,它修复了这个错误。

*坏吗?

答:一点都不差!它只是不添加数字,尽管在使用2*2.

于 2013-10-08T11:45:26.180 回答
1

== 运算符检查运算符左右操作数的引用是否相等,但等于方法检查两个对象的值。

在处理字符串时,建议尽可能使用 equals 方法,因为 sting 具有对象池,因此如果使用 == 运算符比较两个字符串,即使由于引用的不同而内容相同,它也会返回 false。但是 equal 方法返回 true 。

于 2013-10-08T11:34:15.727 回答
1

是的,== 不好。如果将 object 与 == 进行比较,它会比较对象是否相同,而不是对象是否相等。对于字符串,你很幸运,大多数时候,相等的字符串实际上是在引用同一个对象,但不一定如此。

请参阅这篇文章如何比较 Java 中的字符串?举些例子

于 2013-10-08T11:13:58.940 回答