Компаратор и Apache BeanComparator

Рассмотрим простой класс:

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.

14
задан aces. 11 July 2012 в 21:53
поделиться