【发布时间】:2017-07-22 03:28:25
【问题描述】:
// Original class Dog
class Dog{
String name;
int age;
}
//Case 1
class Dog implements Comparable<Dog>{
//compareTo() implementation
}
//Case2
class Dog implements Comparator<Dog>{
// compare() implementation
}
//Case 3
class DogNameComparator implements Comparator<Dog>{
// compare() implementation
}
Collection.sort(dogList);
Collectios.sort(dogList,new DogNameComparator());
Collection.sort(dogList,new Dog());
在案例 2 中,即使他们说 Comparator 没有修改原始类,原始类实际上也被修改了,这不是真的吗?
如果我没有正确理解这个概念,请赐教。
【问题讨论】:
-
您的示例有缺陷(或不完整),第二个示例不需要提供
Comparator本身(事实上这确实使差异难以看出)。但请注意第三个示例独立于Dog。
标签: java collections comparator comparable