Java 数组排序不起作用,不存在变量T的实例,因此Employee符合可比较的

Java 数组排序不起作用,不存在变量T的实例,因此Employee符合可比较的,java,arrays,list,Java,Arrays,List,我创建了这个程序。我试图让它对我的列表进行排序,但它无法排序。我包括了主要课程和我的员工课程 当我尝试分类时,t会说出: 集合中的排序(java.util.list)不能应用于(java.util.ArrayList) 下面是给出的错误代码:不存在变量T的实例,因此Employee符合compariable您需要实现compariable接口并覆盖其comparieto方法,如下所示: public class Employee implements Comparable<Employee

我创建了这个程序。我试图让它对我的列表进行排序,但它无法排序。我包括了主要课程和我的员工课程

当我尝试分类时,t会说出:

集合中的排序(java.util.list)不能应用于(java.util.ArrayList)


下面是给出的错误代码:不存在变量T的实例,因此
Employee
符合
compariable您需要实现
compariable
接口并覆盖其
comparieto
方法,如下所示:

public class Employee implements Comparable<Employee> {
    String name;

    public Employee(String name) {
        this.name = name;
    }

    public String toString() {
        return this.name;
    }

    @Override
    public int compareTo(Employee employee) {
        return this.name.compareTo(employee.name);
    }
}
排序时传递比较器对象,如下所示:

Collections.sort(listOfEmployees, employeeNameComarator);

您还可以使用比较器

listOfEmployees.sort(Comparator.comparing(Employee::getName));

为了使用Collections.sort(),您需要实现可比较接口。 有关详细信息,请浏览以下oracle文档:


您必须说明如何在
员工的两个实例之间进行比较(也许这可以帮助您)谢谢您的帮助!如果您想使用任何其他属性在运行时排序,则可以考虑使用<代码>比较器< /代码>。
Collections.sort(listOfEmployees, employeeNameComarator);
listOfEmployees.sort(Comparator.comparing(Employee::getName));