这个问题好奇怪哦!
大家帮忙解释、一下!
import java.util.*;
public interface Sort<List<E>> {
public void sort(List<?> list);
}
为什么不可以这样定义?
这样写是可以的:
import java.util.*;
public interface Sort{
public void sort(List<?> list);
}
LZ一定要那个<List<E>> 吗?
LZ为神马硬要给接口加个<List<E>>泛型?lz是觉得java的语法不够好,还是?。。。。。。
头一回看到泛型有像你这样嵌套的。
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;
}
}
你的这个正确的定义应该是这样
import java.util.*;
public interface Sort<E> {
public void sort(List<? super E> list);
}