我用这个原型写了一个类:
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必须扩展可比而不是实现。