为什么非要重写equals()方法

来源:9-9 Java 中的 Object 类 Ⅱ

艾米丽宏

2018-04-14 21:06

equals()方法可以比较是否同一地址,如果要比较属性是否相同,直接调用两个对象的属性比较久好了,为什么非要重写equals()方法,感觉还麻烦。

写回答 关注

2回答

  • 枫君
    2018-04-14 22:38:49
    已采纳

    那你有没有想过如果两个对象有成百上千个属性呢?直接调用需要将每个属性都进行比较,哪怕只有一个属性不等就是不同的,这样工作量无疑非常巨大,而重写equals方法,计算机自动生成代码就简单多了

    艾米丽宏

    非常感谢!

    2018-04-15 10:29:17

    共 1 条回复 >

  • Nostark
    2018-07-30 11:42:19

    我认为首先要认清equals方法和hashcode方法分别是用来干嘛的,然后明确他他们两个之间什么关系

    链接为什么重写equals()就一定要重写hashCode()方法?

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530644 学习 · 6091 问题

查看课程

相似问题