用 Comparator 是策略模式(strategy design pattern),就是不改变对象自身,而用一个策略对象(strategy object)来改变它的行为。
Comparable也是策略模式的使用
区别:
Comparator 实现compare(T1,T2) , Arrays.sort(T[],Comparator );
Comparable实现compareTo(T1) 一般放在对象类中,实现:Arrays.sort(Object T[]);
区别,就在于Comparable直接在类中实现,而Comparator将类的比较提出来,分离了。