Comparator vs Apache BeanComparator
2022-09-03 05:48:34
考虑一个简单的类:
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,我可以用最少的代码实现排序。使用比较器和BeanComparators之间的权衡是什么:在性能,使用场景(多个字段排序,其他因素)方面?
我也明白,要使用BeanComparator,必须导入beanutils jar。