Object的equals和hashCode方法

时间:2023-01-16 16:06:40

Object的equals和hashCode方法往往是成对出现的且保持一致。正确重写这两个方法非常重要。现举例说明几个应用:

1、Set<T>去重复原理:T把需要去重复的元素重写equals和hashCode方法;

2、Map的HashMap和hashTable把键值中需要去重复的元素重写这两个方法;

(TreeMap把键值中需要比较的元素重写CompareTo方法,这其实也是一种变向的equals和hashCode);

3、List的contains和indexOf检索方法就是根据需要检索的元素的equals和hashCode方法。实际上,其他涉及到indexOf等检索的也都是要正确重写这两个方法。