A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王洪波 中级黑马   /  2013-5-11 09:21  /  2119 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王洪波 于 2013-5-14 12:28 编辑

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

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

3 个回复

倒序浏览
实现Comparable接口一般是为了对于自定义的类类型的对象进行比较的。
实现Comparable接口需要实现的方法是compareTo()方法,跟equals()方法没什么关系的,至于这个比较规则,你是要怎么去比较,那么你具体在compareTo()方法里面去写。

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

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
白磊 发表于 2013-5-11 10:14
实现Comparable接口一般是为了对于自定义的类类型的对象进行比较的。
实现Comparable接口需要实现的方法是c ...

我问得不太清楚,改了下。
回复 使用道具 举报
当你使用remove(Objcet  o)的时候就会调用equals方法。
在hashset中也是的。

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

如果问题以解决,请及时修改分类。结贴。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马