Discuss / Java / equals和hashCode

equals和hashCode

Topic source

I WILL.

#1 Created at ... [Delete] [Delete and Lock User]

正确使用Map必须保证:

作为key的对象必须正确覆写equals()方法,相等的两个key实例调用equals()必须返回true;

作为key的对象还必须正确覆写hashCode()方法,且hashCode()方法要严格遵循以下规范:

如果两个对象相等,则两个对象的hashCode()必须相等;

如果两个对象不相等,则两个对象的hashCode()尽量不要相等。

equals()用到的用于比较的每一个字段,都必须在hashCode()中用于计算;equals()中没有使用到的字段,绝不可放在hashCode()中计算。


  • 1

Reply