Java对象中的HashCode和Equals方法

Java对象中的HashCode和Equals方法,java,Java,如果重写等于(),为什么总是重写hashcode()? 给我一个例子。对象类中只有一个equals()和hashcode()方法。没有正常或非正常版本的方法 如果您使用的是任何与哈希相关的数据结构,如HashMap或HashSet,则需要重写hashcode()方法。但是,一般来说,只要重写equals(),就重写hashcode()是一种很好的做法。。它们是不可互换的,这会使您的问题变得毫无意义。这就像问“字符串和普通的列表之间有什么区别?”?

如果重写等于(),为什么总是重写hashcode()?
给我一个例子。

对象类中只有一个
equals()
hashcode()
方法。没有正常或非正常版本的方法


如果您使用的是任何与哈希相关的数据结构,如HashMap或HashSet,则需要重写hashcode()方法。但是,一般来说,只要重写equals(),就重写hashcode()是一种很好的做法。

。它们是不可互换的,这会使您的问题变得毫无意义。这就像问“字符串<代码>和普通的<代码>列表<代码>之间有什么区别?”?