在泛型类中实现比较



我用这个原型写了一个类:

public class AkbarWorks<T implements Comparable>

此类包含 2 个数组列表:

private ArrayList<T> elements = new ArrayList<>();
private ArrayList<T> removed = new ArrayList<>();

我的问题是,我想比较 T 的 2 个对象,但 compareTo 不起作用,我无法覆盖它。我在这个函数中使用比较:

public T getMin() throws IllegalStateException {
if (elements.size() == 0) {
throw new IllegalStateException();
} else {
T min = elements.get(0);
for (int i = 1; i < elements.size(); i++) {
if (elements.get(i).compareTo(min) < 0)
min = elements.get(i);
}
return min;
}
}

答案是:T必须扩展可比而不是实现。

最新更新