我一直有这个问题:
public class Student implements Comparable {
private int id;
private String name;
public int compareTo(Student other) {
return 1; // This is just an example value
}
}
该程序无法编译,因为它表示它不会覆盖方法“compareTo()”。那为什么呢?
但是,如果我使用以下类标题
public class Student implements Comparable<Student>{...}
它工作正常。我需要一些解释。顺便说一下,“Comparable”界面的很多互联网示例都使用了第一类标题,我的意思是没有Comparable。
答案 0 :(得分:0)
查看Comparable的源代码。使用implements Comparable
学生中的方法将是
public int compareTo(Object other) { ...
使用泛型可比较的方法就像你写的那样。
顺便说一句,编译器应该给你一个有用的解释。