在课堂上实施时保持泛型类型

seb*_*ebe 6 java generics interface class

我已经做了很多搜索泛型类型的问题,但没有找到任何帮助我弄清楚我在这里做错了什么.我有一个如下界面:

public interface SortAnalysis<E extends Comparable<? super E>> 
{
    public long analyzeSort(ArrayList<E> list);
}
Run Code Online (Sandbox Code Playgroud)

现在,下一步是创建一个实现此接口的类.这个特定的类将使用插入排序,我需要保持ArrayList类型'E'通用,所以我尝试了各种各样的东西,最后得到以下结果:

public class InsertionSort<E extends Comparable<? super E>> implements SortAnalysis {

@Override
public long analyzeSort(ArrayList list) {
    // TODO Auto-generated method stub
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我尝试为参数执行此操作时

ArrayList<E> list
Run Code Online (Sandbox Code Playgroud)

编译器抱怨我实现了一个超类型方法.

我真的很感激任何帮助方向.谢谢!

**我无法将此标记为已回答,但确实如此.我想我的问题就是我的时候

SortAnalysis<E>
Run Code Online (Sandbox Code Playgroud)

我没有在类名后面列出通用类型.**

Ell*_*sch 3

指定类型,SortAnalysis<E>

public class InsertionSort<E extends Comparable<? super E>> 
        implements SortAnalysis<E> {
Run Code Online (Sandbox Code Playgroud)

当您省略它时,您将拥有原始类型而不是通用版本。