我试图创建一个通用列表,该列表使用该类型的.compareTo()
方法对输入的项目进行排序。然而,我在第一行就遇到了一个问题。由于类型必须是一个implements Comparable<T>
,有什么方法来强制?我想语法应该是:
public class GenList<T implements Comparable<T>>{
//Class body.
}
行不通。有什么建议吗?提前感谢!
我知道这有点违反直觉,但是对于这个你写extends
而不是implements
:
public class GenList<T extends Comparable<T>>{
//Class body.
}
(请注意,我还将?
更改为T
,我认为这就是您的意思。引用的类型可以是GenList<?>
,也可以是GenList<? extends Comparable<String>>
,或者其他类型,但是将类本身声明为接受通配符参数是没有意义的。
你是说像
public class GenList<T extends Comparable<T>>{
//Class body.
}