Я пытаюсь написать программу для моего курса, которая сортирует массив объектов.
Кто-нибудь знает, почему я получаю эту ошибку?Ниже приведены фрагменты кода!
Объект ученика
/* Class for storing students */
public class Student {
private String name;
private int mark;
//Constructor
public Student(String gName, int gMark) {
name = gName;
mark = gMark;
}
//Get Mark
public int getMark() {
return mark;
}
//Compare to
public int compareTo(Student gStudent) {
return this.mark - (int) gStudent.getMark();
}
}
И размещение этих учеников в массиве отметок (объектов учеников);
Однако сортировка не работает
//Sorting
Arrays.sort(marks);
И выдает ошибку:
Exception in thread "main" java.lang.ClassCastException: Student cannot be cast to java.lang.Comparable
at java.util.Arrays.mergeSort(Arrays.java:1144)
at java.util.Arrays.sort(Arrays.java:1079)
at MarkAnalysis.main(MarkAnalysis.java:33)
И выдает ошибку