对于一个编程项目,我们制作了大约两打我们需要的类。即使我们不使用Object重写equals()和hashcode()函数,这也是一种好的编程习惯吗?我们认为如果将来需要它们可能会很好,但是我们不确定。 最佳答案 除非您需要与equals提供的实现不同的hashCode和Object实现,否则不要覆盖它们。如JavaDoc中所述,Object版本... 在对象上实现最有区别的对等关系;也就是说,对于任何非参考值null和x,当且仅当y和true引用相同的对象(x的值)。仅当需要y的其他含义时才覆盖它们(例如x == y一样)。 (非常正确的是,如果您覆盖一个,则几乎总是需要覆盖另一个。)