Java中HashSet类的hashCode方法如何重写,有什么作用?

发布网友

我来回答

2个回答

热心网友

hashCode方法可以按照自己定义的规则来重写 final int PRIME = 31;//定义一个固定因数 int result = 1;//定义返回的变量并初始化为1 result = PRIME * result + (int) (id_card ^ (id_card >>> 32));//重新赋值规则:固定因数 * result 再加上id_card先忽略符号向右移动32位,然后与id_card求异或(这两步是二进制操作),并转化成int类型。id_card是字段,应该表示的是身份证号码。 result = PRIME * result + ((name == null) ? 0 : name.hashCode());//第二次重新赋值规则:固定因数 * result 再加上 (如果name == null ,则加上0;否则是name的hashCode。) return results;//将结果返回,应该是result,没有那个s吧。

热心网友

重写就是,父类中有这个方法,你在子类中在写一个同样的方法,只是方法体不一样得到HASHCODE的值的时候就会按你写的方法来得到

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com