考虑一个简单的类:
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,我可以用最少的代码实现排序。使用 Comparators 和 BeanComparators 之间的权衡是什么:在性能、使用场景(多字段排序、其他因素)方面?
我也知道要使用 BeanComparator,必须导入 beanutils jar。