演化架构与紧急设计: 对设计进行重构
2009-11-05 00:00:00 来源:WEB开发网下面举一个例子。我使用一个包含若干字段的简单 employee 类,如清单 4 所示:
清单 4. 一个简单 employee 类public class Employee {
private String name;
private int salary;
private int hireYear;
public Employee(String name, int salary, int hireYear) {
this.name = name;
this.salary = salary;
this.hireYear = hireYear;
}
public String getName() { return name; }
public int getSalary() { return salary;}
public int getHireYear() { return hireYear; }
}
对于这个简单类,我希望能够对类的任意字段进行排序。Java 语言中的一种机制可以通过创建实现 Comparator 接口的 comparator 类,改变排序次序。清单 5 展示了 name 和 salary 的 Comparator:
清单 5. name 和 salary 的 Comparatorpublic class EmployeeNameComparator implements Comparator<Employee> {
public int compare(Employee emp1, Employee emp2) {
return emp1.getName().compareTo(emp2.getName());
}
}
public class EmployeeSalaryComparator implements Comparator<Employee> {
public int compare(Employee emp1, Employee emp2) {
return emp1.getSalary() - emp2.getSalary();
}
}
更多精彩
赞助商链接