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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

对于Compare,Compator比较器,Compable接口,和CompareTo这几个总是稍微的模糊,请问怎么区分呢?

评分

参与人数 1技术分 +1 收起 理由
敏敏好学 + 1

查看全部评分

4 个回复

倒序浏览
按照英文的意思来记吧:
首先Comparable是可比较的,它是一个形容词,就类似于“可序列化的”、“可复制的”等等,典型的接口的名字,一个类如果想要让其对象拥有比较性就实现它吧。
compareTo,和什么比较,它是Comparable接口中定义的抽象方法,一个类实现了Comparable接口,就说明它的对象可以和别人比较,当然和其他类的对象相比没什么意义,所以就和自己的对象比较好了。它要把自己和本类的另一个对象相比,把要和当前对象比较的那个对象传进来就好了,所以参数列表只有一个参数。
Comparator,比较器接口,它以or结尾是个名词,记忆成比较器应该不困难,比较器是什么自然不用多说了。
compare,它是比较器接口中定义的方法,所谓比较器自然是用来比较的,但是明显它不是用自己和另一个比较器对象进行比较,而是要比较另外的两个对象,所以compare方法要接受两个参数,把两个要比较的对象都传进来。

评分

参与人数 1技术分 +1 收起 理由
敏敏好学 + 1

查看全部评分

回复 使用道具 举报
你就记住Comparable是用在默认比较上的  里边复写CompaTo()          而比较器用的是Comparator  复写compare   
回复 使用道具 举报
水竹 发表于 2014-10-7 20:21
按照英文的意思来记吧:
首先Comparable是可比较的,它是一个形容词,就类似于“可序列化的”、“可复制的 ...

你讲的很细,我明白了,谢谢:D
回复 使用道具 举报
光头强 发表于 2014-10-7 21:13
你就记住Comparable是用在默认比较上的  里边复写CompaTo()          而比较器用的是Comparator  复写compa ...

ok,懂得了,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马