Hãy xem xét một lớp đơn giản:sánh vs Apache BeanComparator
class Employee {
String name;
int sal;
....//getters and setters
}
tôi có thể tạo một sánh để sắp xếp vào tên trường ví dụ.
class EmpSortByName implements Comparator<Employee>{
@Override
public int compare(Employee e1, Employee e2){
return e1.getName().compareTo(e2.getName());
}
}
Tuy nhiên, nhìn vào commons apache BeanComparator, phân loại có thể đạt được theo cách sau:
BeanComparator bc = new BeanComparator("name");
Collections.sort(employeeList, bc);
Do đó, bằng cách sử dụng BeanComparator, tôi có thể đạt được sắp xếp với mã tối thiểu. Sự cân bằng giữa việc sử dụng Comparators và BeanComparators như thế nào: về hiệu suất, kịch bản sử dụng (sắp xếp nhiều trường, các yếu tố khác)?
Tôi cũng hiểu rằng để sử dụng BeanComparator, các hạt đậu jar phải được nhập khẩu.
đó là một tối thiểu "rõ ràng" mã. đừng quên bạn không biết BeanComparator có thể làm gì và có thể kém hiệu quả hơn cách đầu tiên –