本帖最后由 Sevenette 于 2014-5-21 16:44 编辑
extends 后面可以是类也可以是接口
<T extend List> 可以理解为T类型是实现Collection接口的类型,或者T是继承了XX类的类型。是用来限制泛型类别的。
比如
public class Demo<T extends List>{}
这个Demo类就要求泛型是实现List接口的对象
?号就是不确定的意思,
比如
public class Demo<T>{}
实例化时:
Demo<? extends List> demo = null;
这个demo的泛型就可以是实现了List接口的对象:ArrayList、LinkedList都可以
demo = new Demo<ArrayList>();
demo = new Demo<LinkedList>();
|