说白了就是写成T就是将类型固定,而?则不固定,比如下面这个例子[code=java]public class ListDemo<T extends List> {
...
}[/code]这么写就会报错- ListDemo<ArrayList> LD = new ListDemo<LinkedList>(new LinkedList());
复制代码 如果把 ListDemo<T extends List> 改成 ListDemo<? extends List>的话- ListDemo<ArrayList> LD = new ListDemo<LinkedList>(new LinkedList());
复制代码 则不会报错
[ 本帖最后由 那日苏 于 2011-07-25 18:42 编辑 ] |