単純なクラスを考えてみましょう。
class Employee {
String name;
int sal;
....//getters and setters
}
たとえば、フィールド名でソートするコンパレータを作成できます。
class EmpSortByName implements Comparator<Employee>{
@Override
public int compare(Employee e1, Employee e2){
return e1.getName().compareTo(e2.getName());
}
}
ただし、Apache Commons BeanComparatorを見ると、並べ替えは次の方法で実行できます。
BeanComparator bc = new BeanComparator("name");
Collections.sort(employeeList, bc);
したがって、BeanComparatorを使用することで、最小限のコードでソートを実現できます。ComparatorsとBeanComparatorsを使用することのトレードオフは何ですか:パフォーマンス、使用シナリオ(複数のフィールドの並べ替え、その他の要因)の観点から?
BeanComparatorを使用するには、beanutilsjarをインポートする必要があることも理解しています。