【问题标题】:Why to use .equals(Object) method for non-string objects? [duplicate]为什么对非字符串对象使用 .equals(Object) 方法? [复制]
【发布时间】:2015-11-05 18:31:37
【问题描述】:

为什么有人会对非字符串对象使用 .equals(Object) 方法而不是“==”?就因为我们可以覆盖 .equals(Object)?

【问题讨论】:

  • 是的,当 逻辑上 对象根据要求相同或不同时。

标签: java object equals


【解决方案1】:

"==" 比较两个对象的身份(内存地址)。如果你有两个 person 对象,他们有相同的姓氏、相同的年龄、性别……,那么他们应该是同一个人。但是由于您在代码中分别创建了两个人对象,因此当您使用“==”时,您会得出结论它们是两个不同的人。但是,如果您覆盖“等于”,那么您可以断定他们是同一个人。

查看“Effective java”(如果不是最好的话,也是最好的 Java 书籍之一)。这方面有一些不错的项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多