我正在尝试创建一个通用列表,该列表使用.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>>
或其他类型,但它不会使将类本身声明为采用通配符参数是有意义的。)
关于java - 有没有办法使用 Java 中的接口(interface)来绑定(bind)泛型类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14000106/