这个问题好奇怪哦!
大家帮忙解释、一下!import java.util.*;
public interface Sort<List<E>> {
public void sort(List<?> list);
}
为什么不可以这样定义?

解决方案 »

  1.   

    这样写是可以的:import java.util.*;
    public interface Sort{
    public void sort(List<?> list);
    }LZ一定要那个<List<E>> 吗?
      

  2.   

    lz是觉得java的语法不够好,还是?
      

  3.   

    头一回看到泛型有像你这样嵌套的。
    你的这个正确的定义应该是这样
    import java.util.*;
    public interface Sort<E> {
    public void sort(List<? super E> list);
    }
      

  4.   

    LZ为神马硬要给接口加个<List<E>>泛型?
      

  5.   


    import java.util.List;public interface Sort<E> {
    public E init();
    }
    class c <T> implements Sort<List<T>> { @Override
    public List<T> init() {
    return null;
    }

    }