找不到符号 - 方法compareTo()但我的类的泛型类型已经扩展了Comparable

时间:2018-03-14 04:18:05

标签: java generics compareto

使用泛型类的新手,但我正在尝试制作一个简单的排序算法,但是我无法解决这个问题,因为我的生活中我只知道它必须是一些非常小而简单的错误我想不出来。

public class InsertionSort<T extends Comparable<T>> implements Sorter<T>
{
    ListInterface<T> list;
    public void sort(ListInterface<T> list) {
    this.list = list;
    if(list.get(key).compareTo(list.get(key-1)) > 0) {}
                    //ERROR
    }
}

My Sorter界面也扩展了Comparable ......

public interface Sorter<T extends Comparable<T>> {
    public void sort(ListInterface<T> list);
}

My ListInterface是ArrayLists和LinkedLists的接口,所有泛型类型都是T,但是它们不会扩展Comparable,它们不应该!它们是列表,您可以将任何对象插入其中,即使它们不是可比较的。我真的不确定为什么我收到这个编译错误。

0 个答案:

没有答案