Рассмотрим простой класс:
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 необходимо импортировать банку beanutils.