黑马程序员技术交流社区
标题:
此处说是不能创建泛型数组是什么意思
[打印本页]
作者:
何明辉
时间:
2012-9-12 15:40
标题:
此处说是不能创建泛型数组是什么意思
本帖最后由 何明辉 于 2012-9-12 18:01 编辑
import java.util.*;
class ToArray
{
public static <T>T[] getArray(Collection<T> t)
{
T[] t1=new T[t.size()];//此处说是不能创建泛型数组,
Iterator<T> it=t.iterator();
while(it.hasNext())
{
int x=0;
t1[x++]=it.next();
}
return t1;
}
public static void main(String[] args)
{
List<Integer> st=new ArrayList<Integer>();
st.add(3);
st.add(4);
st.add(1);
st.add(5);
System.out.println(getArray(st));
}
}
上面程序是将集合变成数组,但是编译时说是不能创建泛型数组,不知道错哪儿了,请大家帮我说说,谢谢!
作者:
张 涛
时间:
2012-9-12 15:51
编译器不允许创建泛型变量的数组,如:Vector<Integer> vectorList[] = new Vector<Integer>[10];
张老师讲泛型的时候讲过。
作者:
李菁
时间:
2012-9-12 16:43
在创建数组时,数组的元素不能使用参数化类型。
而且类里的静态方法不能使用泛型类
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2