科技界 新科技新应用
首页 /  数码世界 /  内容

重写hashCode方法

数码世界 2024-10-03 21:01:23 北城浪子

正确重写hashCode方法

1. 不能包含equals方法中没有的字段 ,否则会导致相等的对象可能会有不同的哈希值。

2. String对象和Bigdecimal对象已经重写了hashcode方法,这些类型的值可以直接用于重写hashcode方法;

3. result = 31 *result + (dishCode !=null ?dishCode.hashCode() : 0); ,这里面 为啥用个31来计算 ,而且很多人都是这么写的,这是 因为31是个神奇的数字,任何数n*31都可以被jvm优化为(n<<5)-n,移位和减法的操作效率比乘法的操作效率高很多!

版权申明:文章由用户发布,不代表本网站立场,如果侵权请联系我们删除。