当前位置: 代码迷 >> J2SE >> 为什么不可以这样定义接口?请教
  详细解决方案

为什么不可以这样定义接口?请教

热度:4195   发布时间:2013-02-25 00:00:00.0
为什么不可以这样定义接口?请问
这个问题好奇怪哦!
大家帮忙解释、一下!

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);
}
  相关解决方案