我想要限制类型T,它是一个在泛型类中实现Comparable <T>接口的类

use*_*434 0 java

A<T>在Java中定义了一个泛型类,但我想限制类型T,使其成为实现Comparable<T>接口的类.我该怎么办?

Jon*_*eet 7

我想你只想要:

class A<T extends Comparable<T>>
{
}
Run Code Online (Sandbox Code Playgroud)

或者可能:

class A<T extends Comparable<? super T>>
{
}
Run Code Online (Sandbox Code Playgroud)

后者稍微灵活一些 - 它允许以下内容:

class Foo implements Comparable<Object>
{
}

A<Foo> a = new A<Foo>();
Run Code Online (Sandbox Code Playgroud)

如果您只想A比较类型的值,那就没问题T.