Considere una clase simple:Comparador vs Apache BeanComparator
class Employee {
String name;
int sal;
....//getters and setters
}
puedo crear un comparador para ordenar el nombre del campo, por ejemplo.
class EmpSortByName implements Comparator<Employee>{
@Override
public int compare(Employee e1, Employee e2){
return e1.getName().compareTo(e2.getName());
}
}
Sin embargo, mirando apache commons BeanComparator, la clasificación se puede lograr en forma siguiente:
BeanComparator bc = new BeanComparator("name");
Collections.sort(employeeList, bc);
Por lo tanto, mediante el uso de BeanComparator, puedo lograr la clasificación con código mínimo. ¿Cuáles son las compensaciones entre el uso de Comparadores y BeanComparators: en términos de rendimiento, escenarios de uso (clasificación de campos múltiples, otros factores)?
También entiendo que para usar BeanComparator, debe importarse el jarro de beanutils.
se trata de un código mínimo "aparente". no olvide que no sabe lo que hace BeanComparator y podría ser menos eficiente que la primera forma –