我正在尝试创建一个通用列表,该列表使用该类型的.compareTo()
方法对输入到其中的项目进行排序。但是,我在第一行遇到了问题。由于类型必须是implements Comparable<T>
的类型,有没有办法强制执行此操作?我想语法是:
public class GenList<T implements Comparable<T>>{
//Class body.
}
不起作用。有什么建议?提前谢谢!
答案 0 :(得分:3)
我知道这有点违反直觉,但为此你写extends
而不是implements
:
public class GenList<T extends Comparable<T>>{
//Class body.
}
(请注意,我还将?
更改为T
,我认为这就是您的意思。引用可以包含GenList<?>
类型,或类型GenList<? extends Comparable<String>>
,或者诸如此类,但将类本身声明为采用通配符参数是没有意义的。)
答案 1 :(得分:0)
你的意思是
public class GenList<T extends Comparable<T>>{
//Class body.
}