java equals 和hashcode

1  如果不知道怎么重载hashcode, eclipse自动代码生成工具会帮助你生成,大概的思路是设定一个int prim,  然后根据各个成员的值或者hashcode值进行某种运算即可,具体什么运算,可以直接设计。

2  如果使用的HashSet等Hash性质的,使用的是hashcode, 不是equals, 因为这些值都是根据hashcode的值作为key;

3  如果是List的indexOf(),  则使用的是equals, 而不是重载的hashcode值, 除非重载的equals中调用重载的hashcode,一般不用hashcode, 就可以比较出结果。

原文地址:https://www.cnblogs.com/kangls/p/3499725.html