在通用类中的实现compareTo

问题描述 投票:0回答:1

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

public class AkbarWorks<T implements Comparable>

此类包含2个ArrayLists:

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

我的问题是:我想比较T的2个对象,但compareTo不起作用,并且我无法覆盖它,我在此函数中使用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;
    }
}
java generics comparable compareto
1个回答
0
投票

答案是:T必须扩展Comparable而不是工具。

© www.soinside.com 2019 - 2024. All rights reserved.