comparable与comparator的区别

Comparable和Comparator的区别

Comparable

Comparable可以认为是一个内比较器,compareTo方法也称为自然比较方法

实现Comparable接口的类有一个特点,就是这些类是可以和自己比较,如何比较就是利用compareTo方法。

Compatator

Conparator可以认为是一个外比较器。

使用情况:

  • 一个对象不支持自己和自己比较(没有实现Comparable接口),但是又想对两个对象进行比较
  • 一个对象实现了Comparable接口,但是开发者认为compareTo方法中比较方法并不是自己想要的

两个比较器Comparable和Comparator,后者相对于前者的优点:

1.实现Comparable接口的方式比实现Comparator接口的耦合性要强一点,如果要修改比较算法,后者则不需要对实现类有任何修改。

2.如果compareTo方法内的比较算法不满意,那么可以利用Comparator接口。但是当我们想将实现类的.class文件打包成一个.jar文件提供给开发者的时候,这时候comparator就不太好。

posted @ 2018-03-17 01:27  战斗的小白  阅读(343)  评论(0编辑  收藏  举报