黑马程序员技术交流社区

标题: 泛型问题 [打印本页]

作者: luofeng    时间: 2014-9-15 22:13
标题: 泛型问题
泛型问题
不明确具体类型时用?表示,如
public static void print(ArrayList<?> a1)
{
     Iterator<?> it = al.iterator();
     while(it.hasNext())
     {
          sop(it.next());
     }
}
也可以用T,如
public static <T> void print(ArrayList<T> a1)
{
     Iterator<T> it = al.iterator();
     while(it.hasNext())
     {
          T t = it.next();
     }
}
并且用T还能对接收的类型进行操作,那么是不是第二种能完全取代第一种,两者的应用场合有什么不同?
作者: likeermei    时间: 2014-9-15 23:05
第一种是占位符的,看你具体什么类型
作者: 15579171087    时间: 2014-9-15 23:46
前几天刚看。。?的话取出的对象是Object  T的话取出的就是<>里的了   
作者: 15579171087    时间: 2014-9-15 23:48
用?取出来的是Object类型
用T的话是<>里面写的对象
?可以用于泛型限定




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2