说明
1、java中hashcode方法是Object类native方法,返回值为int类型。
2、根据一定的规则将与对方相关的信息,例如对方的存储地址、对方的字段等映射到数值中,该数值被称为散列值。
实例
publicstaticinthashCode(inta[]){ if(a==null) return0; intresult=1; for(intelement:a) result=31*result+element; returnresult; }
选择值31是因为它是奇数素数。如果它是偶数,乘法溢出,信息就会丢失,因为乘2等于移位。使用素数的好处不太清楚,但它是传统的。31的一个很好的特性是,乘法可以用移位和减法来代替,以获得更好的性能:31*i==(i<<5)-i。现代虚拟机会自动进行这种优化。
以上就是Java hashcode方法的介绍,希望对大家有所帮助。更多Java学习指路:Java基础
原文来自:https://www.py.cn© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容