Java:是否可以使用只能采用可比较类型的泛型类?

mr *_*opo 2 java generics

我想做一些事情:

public class MyClass<T implements Comparable> {
    ....
}
Run Code Online (Sandbox Code Playgroud)

但我不能,因为,显然,泛型只接受子类的限制,而不是接口.

重要的是我能够比较课堂内的类型,那么我该如何去做呢?理想情况下,我能够保持Generics的类型安全性,而不必将T转换为Object,或者只是不编写大量代码.换句话说,最简单的越好.

Bal*_*usC 7

implements是错的.它只接受extendssuper.你可以在这里使用extends:

public class MyClass<T extends Comparable<T>> {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

要了解有关泛型的更多信息,您可能会发现本教程(PDF)非常有用.