我有一个通用类:
public class ListObject<T>
{
// fields
protected T _Value = null;
// ..
}
现在,我想执行以下操作:
ListObject<MyClass> foo = new ListObject<MyClass>();
ListObject<MyClass> foo2 = new ListObject<MyClass>();
foo.compareTo(foo2);
问题:
如何通过重新定义为通用
compareTo()
来定义T
方法?我想我必须以某种方式对通用
T
实现约束,以告诉T
实现特定的接口(interface)(如果存在,则为Comparable
)。谁能给我一个小的代码样本?
最佳答案
在这里也阅读讨论:Generics and sorting in Java
简短的回答,您可以获得的最佳结果是:
class ListObject<T extends Comparable<? super T>> {
...
}
但是也有理由只使用:
class ListObject<T extends Comparable> {
...
}
关于java - 如何在Java中对通用类型设置约束?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2081663/