黑马程序员技术交流社区

标题: Comparator接口中的equals方法的作用? [打印本页]

作者: 王洪波    时间: 2013-5-11 09:21
标题: Comparator接口中的equals方法的作用?
本帖最后由 王洪波 于 2013-5-14 12:28 编辑

Comparator接口中的equals方法的作用?以及何时需要override Comparator接口中的equals方法?
最好能举个代码实例说明下这样做的原因。

作者: 白磊    时间: 2013-5-11 10:14
实现Comparable接口一般是为了对于自定义的类类型的对象进行比较的。
实现Comparable接口需要实现的方法是compareTo()方法,跟equals()方法没什么关系的,至于这个比较规则,你是要怎么去比较,那么你具体在compareTo()方法里面去写。

equals 方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的内容是否相等。当你需要根据自己的规则来进行比较时,就需要重写 equals() 方法。当需要为采取哈希表来存储数据的时候,重写 equals() 方法还需要重写hashCode()方法。


作者: 王洪波    时间: 2013-5-11 10:42
白磊 发表于 2013-5-11 10:14
实现Comparable接口一般是为了对于自定义的类类型的对象进行比较的。
实现Comparable接口需要实现的方法是c ...

我问得不太清楚,改了下。
作者: 刘胜寒    时间: 2013-5-14 12:21
当你使用remove(Objcet  o)的时候就会调用equals方法。
在hashset中也是的。

代码说明一下。。
这个有点困难。。。

如果问题以解决,请及时修改分类。结贴。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2