Komparator vs Apache BeanComparator

Betrachten Sie eine einfache Klasse:

class Employee {

String name;
int sal;

....//getters and setters
}

Ich kann ein Comparator zum Sortieren auf Feld-Namen zum Beispiel.

class EmpSortByName implements Comparator<Employee>{

 @Override
 public int compare(Employee e1, Employee e2){
  return e1.getName().compareTo(e2.getName());
 }
}

Dennoch, mit Blick auf apache commons BeanComparator, die Sortierung kann erreicht werden, in folgender Weise:

BeanComparator bc = new BeanComparator("name");
Collections.sort(employeeList, bc);

So, durch die Verwendung BeanComparator kann ich erreichen Sortierung mit minimalem code. Was sind die trade-offs zwischen der Verwendung von Komparatoren und BeanComparators: in Bezug auf Leistung, Einsatz Szenarien (mehrere Felder Sortieren, andere Faktoren)?

Ich auch verstehen, dass die Verwendung von BeanComparator, die beanutils jar importiert werden.

  • es ist ein minimales "scheinbare" code. vergessen Sie nicht, Sie wissen nicht, was BeanComparator tut und vielleicht weniger performant als die erste Möglichkeit
InformationsquelleAutor aces. | 2012-07-11
Schreibe einen Kommentar