我对Java非常陌生。我不知道这个<T extends Comparable<T>>
。我的意思是为什么T
之前的内容会扩展?这样写extends Comparable<T>
还不够吗?为什么javadoc中的extends
而不是implements
是其接口,对吗?据我了解Comparable
比较两个对象?
public class TopNPrinter<T extends Comparable<T>> {
private int N;
private String header;
public TopNPrinter(int N, String header) {
this.N = N;
this.header = header;
}
private List<T> getTopN(List<T> list) {
List<T> copy = new ArrayList<>(list);
Collections.sort(copy);
return copy.subList(0, N);
}
为什么要扩展而不在javadoc中实现其接口,对吗?
T extends Comparable<T>
表示对象与其自身具有可比性。换句话说,对象是相互可比较的。