【发布时间】:2012-07-11 21:16:05
【问题描述】:
考虑一个简单的类:
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,我可以用最少的代码实现排序。使用 Comparator 和 BeanComparator 之间的权衡是什么:在性能、使用场景(多字段排序、其他因素)方面?
我也知道要使用 BeanComparator,必须导入 beanutils jar。
【问题讨论】:
-
这是一个最小的“明显”代码。别忘了你不知道 BeanComparator 做了什么,而且性能可能不如第一种方法
标签: java performance apache comparison comparator