== 和 .equals() 之间的区别

问题描述 投票:0回答:1

有人可以解释一下 Java 中用于比较对象时 == 和 .equals() 之间的区别吗?

我尝试使用 == 运算符和 .equals() 方法对 Java 对象进行比较。最初,我使用 == 检查两个对象引用是否指向相同的内存位置,假设只有当它们相同时才会评估 true。随后,我使用了 .equals() 方法,期望它能够比较对象的实际内容或值是否相等。

但是,我在使用 .equals() 时遇到了一个问题,而没有在我的类中对其进行自定义。我发现 Object 类中的默认 .equals() 比较引用(类似于 == 运算符),而不是对象内容。这种差异意味着我最初对内容比较的期望没有得到满足,直到我在类中提供了个性化的 .equals() 实现来比较对象的特定属性或内容。

java object reference comparison equality
1个回答
0
投票

Imo,只需使用 == 而不是 .equals()。它让你看起来像一个希望自己的语法看起来很复杂以适应人们的人(再次,只是我的意见)。

(P.S 如果出现进一步问题,= 代表布尔值,== 代表数字变量)

编辑:万一它实际上是不同的祝你好运(我也是新的)

© www.soinside.com 2019 - 2024. All rights reserved.