黑马程序员技术交流社区

标题: “==”与equals、compare()与compareTo()的区别 [打印本页]

作者: csu050416    时间: 2015-5-6 17:46
标题: “==”与equals、compare()与compareTo()的区别
那位大神给具体讲一下?

作者: lwj123    时间: 2015-5-6 18:20
“==”比较的是地址也可以是基本数据类型数值比较
equals:没有重写equals的话效果跟==一致
compare()是Comparator的比较方法
compareTo()是Comparabale的比较方法
作者: csu050416    时间: 2015-5-6 19:00
lwj123 发表于 2015-5-6 18:20
“==”比较的是地址也可以是基本数据类型数值比较
equals:没有重写equals的话效果跟==一致
compare()是C ...

版主给讲讲compare()和compareTo()的使用环境呗。
作者: lwj123    时间: 2015-5-6 19:20
csu050416 发表于 2015-5-6 19:00
版主给讲讲compare()和compareTo()的使用环境呗。

如果是在定义类时就要让该类具有比较性,那么我们可以将该类去实现Comparabale接口。

若是对某个已经定义好的类进行升级,我们的原则尽量不要去修改类的结构,所以想让该类有比较性就让集合构造接收一个Comparator接口的子类实现。
作者: IDhmpj    时间: 2015-5-6 19:37
以参数形式传入的比较器,会覆盖掉原来的类中定义比较规则.
作者: csu050416    时间: 2015-5-6 19:57
lwj123 发表于 2015-5-6 19:20
如果是在定义类时就要让该类具有比较性,那么我们可以将该类去实现Comparabale接口。

若是对某个已经定 ...

有点懂了,找点资料再看看。谢谢版主,赞一个{:2_36:}!
作者: richaled    时间: 2015-5-7 08:08
学习了,赞一个




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