使用Java比较按名称排序对象

时间:2012-09-17 16:37:04

标签: java arrays sorting object comparable

我是Java的初学者,我在使用Comparable按名称对Employee对象进行排序时遇到了问题。我已经阅读了Java文档,没有太多运气。我正在寻找一些指导,让我走上正轨。

public class Employee implements Comparable<Employee> {

    private String name ="No name yet";
    Task task;

    public Employee(String setName) {    
        name = setName;
    }
...
    public int compareTo(Employee object) {
        Employee emp = (Employee) object;
        return this.name.compareTo(emp.name);
    }

我试图像这样调用比较方法,但我不确定这是对的。

    public static void main(String[] args){
    Employee[] emp = new Employee[4];
        emp[0] = new HourlyEmp("Green", 22.50, 40);
        emp[1] = new ExemptEmp("White", 1000.00);
        emp[2] = new ExemptEmp("Black", 1100.00);
        emp[3] = new ExemptEmp("Brown", 1346.15);

    Array.sort(emp); <<--ERROR: The method sort(Employee[]) is undefined 
                                for the type  Array

    printReport("Employee list sorted on names", emp);

非常感谢任何帮助。谢谢!

2 个答案:

答案 0 :(得分:2)

请尝试Arrays.sort(emp);

答案 1 :(得分:2)

Arrays.sort(emp);s位于Arrays。这将调用the Arrays#sort method

相关问题