考慮一個簡單的類:比較VS阿帕奇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());
}
}
然而,看着阿帕奇百科全書BeanComparator,排序可以用以下方式實現的:通過使用BeanComparator
BeanComparator bc = new BeanComparator("name");
Collections.sort(employeeList, bc);
因此,我可以做到用最少的代碼排序。在使用比較器和BeanComparators之間有什麼權衡:就性能,使用場景(多領域排序,其他因素)而言?
我也明白要使用BeanComparator,必須導入beanutils jar。
這是一個很小的「明顯的」代碼比較多的一個屬性。不要忘記你不知道BeanComparator的功能是什麼,並且可能比第一種方式的性能更差 – 2012-07-11 21:18:26