可能重复:
Hashcode 和 equals
我读过很多关于hashcode
和平等及其关系的文章。到目前为止,我的理解是默认情况下每个object
都有平等和hashcode
功能。因为 javaclass
有这些功能。现在hashcode
意味着它返回一个对象的内存地址。hashcodes
默认情况下是唯一的。创建对象时,您将获得唯一的代码。
- 现在我的问题是,当您按照规则
override
使用equals
函数时,我们需要覆盖hashcode
函数..? - 那么是不是我们
hashcode
与equals方法一起实现了该功能,但hascode
实现没有用..? 以及如何在
hashcode
框架中使用.. ?hashmap
hashtable
collection
class person{ string name; string employer; boolean equals(Object o){ person per=(person)o; if(per.employer==this.employeer){ return true } return false; } int hashcode(){ return 0;//what ever i do in hashcode does it really effect any thing..as the equals does //the comparison for me and gave me the result } }
以及它们如何hascodes
用于hashmap
和hashtable
谢谢,