我在Java中定义了一个泛型类A<T>
,但我希望限制类型T
,使其成为实现Comparable<T>
接口的类。我该怎么办?
答案 0 :(得分:7)
我想你只是想:
class A<T extends Comparable<T>>
{
}
或者可能:
class A<T extends Comparable<? super T>>
{
}
后者稍微灵活一些 - 它允许以下内容:
class Foo implements Comparable<Object>
{
}
A<Foo> a = new A<Foo>();
如果您只是希望A
能够比较T
类型的值,那就没关系。
答案 1 :(得分:1)
public class A<T extends Comparable<? super T>>{
...
}
这允许您使用实现类似
的类的子类答案 2 :(得分:0)
您可以在T
上加上上限:
public class A<T extends Comparable<T>> {
//...
}
答案 3 :(得分:0)
Class A <T implements ComparableInterface>