相同点
都是用来对象之间的比较
不同点
1、
Comparable
:在java.lang包下
Comparator
:在java.util包下
2、
Comparable
:需要重写compareTo(Object o)方法
Comparator
:需要重写compare(Object o1, Object o2)方法
3、
comparable
:①是内在比较器,该类的对象可以直接相互比较this.compareTo(this),②可以直接使用Collections.sort方法排序
Comparator
:①是外在比较器,没有实现comparable还想实现比较排序可以compare(o1,o2)
4、omparator 是典型的策略模式
5、Comparable和Comparator存在,Comparator优先级高
6、
Comparable
:需要修改原先的实体类,是一种自然的排序
Comparator
:不用修改原先的类而实现的比较器,实际应用广
版权声明:本文为PPDY93原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。