java泛型,java泛型中区别

public static void printColl(ArrayList> al){

Iterator> it = al.iterator();

while(it.hasNext())

{

System.out.println(it.next().toString());

}

?和T都表示不确定的类型  但如果是T的话 函数里面可以对T进行操作 比如while里面可以这样写

T t = it.next();

System.out.println(t);

T自定义泛型和?通配符泛型。

泛型三种:

[1]ArrayList al=new ArrayList();指定集合元素只能是T类型

[2]ArrayList> al=new ArrayList>();集合元素可以是任意类型,这种没有意义,一般是方法中,只是为了说明用法

[3]ArrayList extends E> al=new ArrayList extends E>();

泛型的限定:

? extends E:接收E类型或者E的子类型。

?super E:接收E类型或者E的父类型。

原文:http://www.cnblogs.com/zhjh256/p/7077207.html

你可能感兴趣的:(java泛型<m>)