标签:集合 另一个 hash 比较 它的 数值 编程语言 override 通过
首先hashcode ()方法的作用是返回对象的哈希码值。
public int hashCode()
@Override
public int hashCode() {
int result = getUserid().hashCode();
result = 31 * result + getUname().hashCode();
result = 31 * result + getUage().hashCode();
return result;
}
HashMap
提供的那样 。
hashCode
的总合同是:
hashCode
方法必须始终返回相同的整数,前提是修改了对象中equals
比较中的信息。 该整数不需要从一个应用程序的执行到相同应用程序的另一个执行保持一致。equals(Object)
方法两个对象相等,则在两个对象中的每个对象上调用hashCode
方法必须产生相同的整数结果。equals(java.lang.Object)
方法不相等,那么在两个对象中的每个对象上调用hashCode
方法必须产生不同的整数结果。 但是,程序员应该意识到,为不等对象生成不同的整数结果可能会提高哈希表的性能。尽可能多的合理实用,由类别Object
定义的hashCode方法确实为不同对象返回不同的整数。 (这通常通过将对象的内部地址转换为整数来实现,但Java的编程语言不需要此实现技术。)
标签:集合 另一个 hash 比较 它的 数值 编程语言 override 通过
原文地址:https://www.cnblogs.com/cuixiaomeng/p/11383714.html