Comparable接口和Comparator接口都可以用来实现类的比较排序功能,Comparable接口会被某个类实现,用来表示该类的默认比较规则,通过这个比较规则进行做排序,不过如果此时Comparable接口的比较规则无法满足业务要求,需要再新增其他的排序规则,如果这些规则不是该类的默认比较规则,那么把它们继续加在compareTo()方法中就不符合需求了,太固定,同时编码也要尽量做到对修改关闭,对扩展开放,所以这时可以引入Comparator接口,它是一个工具类接口,可以根据业务需要,实现Comparator接口来定义不同规则的比较器,有几种业务就可以有几种比较器,这样扩展起来就很方便了。所以Comparable接口用作定义类的默认排序规则,而Comparator接口则用来扩展类的排序规则。