[1]ArrayList<T> al=new ArrayList<T>();指定集合元素只能是T类型
[2]ArrayList<?> al=new ArrayList<?>();集合元素可以是任意类型,这种没有意义,一般是方法中,只是为了说明用法
[3]ArrayList<? extends E> al=new ArrayList<? extends E>();
泛型的限定: ? extends E:接收E类型或者E的子类型。?super E:接收E类型或者E的父类型。
在java泛型中
?代表不确定的java类型
T代表java类型
K、V 代表java键值中的key和value
E代表Element,表示一个程序元素,比如包、类或者方法。
备注:由于个人能力有限,对于E表示的Element,Element到底是何含义,我通过查询API文档,将Element的含义罗列了一个到这里。由于Java的API文档中,对于Element关键字,有较多的解释,我不清楚我本人选择的这个解释是否正确。如有错误,恳请读者指出。谢谢
新闻热点
疑难解答