fenuang的博客

一个混饭吃的java程序猴

java中重写的hascode中的31是怎么来的

@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + age;
		result = prime * result + ((name == null) ? 0 : name.hashCode());
		return result;
	}
其中
hashCode()的使用时为了减少equal方法的使用,使工作更加高效方便,那么
final int prime = 31;是怎么回事呢,为什么偏偏是31呢
原理:
   31是个不大不小的质数(2的5次方-1(即1<<<<<-1))使<pre name="code" class="java">ashCode()中的result值不会大于int的取值范围




阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34533413/article/details/52367789
个人分类: java 算法面试笔试
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭