Рассмотрим простой класс:
class Employee {
String name;
int sal;
....//getters and setters
}
Я могу создать Comparator для сортировки по имени поля, например.
class EmpSortByName implements Comparator<Employee>{
@Override
public int compare(Employee e1, Employee e2){
return e1.getName().compareTo(e2.getName());
}
}
Однако, глядя на apan commons BeanComparator, сортировка может быть достигнута следующим образом:
BeanComparator bc = new BeanComparator("name");
Collections.sort(employeeList, bc);
Таким образом, используя BeanComparator, я могу добиться сортировки с минимальным кодом. Каковы компромиссы между использованием Comparators и BeanComparators: с точки зрения производительности, сценариев использования (сортировка нескольких полей, другие факторы)?
Я также понимаю, что для использования BeanComparator необходимо импортировать банку beanutils.