如何创建泛型类型的数组?

时间:2012-06-23 22:45:13

标签: java arrays generics

如何创建泛型类型的数组?通用Arrays.copyOf()方法如何工作?它返回泛型数组的副本。因此可以创建通用数组。但是怎么样?如何编写类似于copyOf()的方法?

2 个答案:

答案 0 :(得分:6)

如果你需要在运行时创建它,你至少需要知道当时的类型,所以你可以使用以下方法:

a = (T[]) Array.newInstance(c,s);

其中T是通用类型,cT的类,s是初始大小。

文档here

答案 1 :(得分:-2)

我对你的要求感到困惑,但我会尽力回答。

如果要创建泛型类型的数组,则必须使用泛型对包含该数组的类进行参数化。例如,这有效:

class MyClass<T> {

      T[] myGenericArray;

}

在大多数情况下,我打赌你正在做的事情可以通过Object []或类似的东西来实现,尽管如果你提出更具体的问题,我可以提供更多的帮助。