【发布时间】:2012-06-23 22:45:12
【问题描述】:
如何创建泛型数组?通用Arrays.copyOf() 方法如何工作?它返回通用数组的副本。因此可以创建通用数组。但是怎么做?怎么写出类似copyOf()的方法?
【问题讨论】:
如何创建泛型数组?通用Arrays.copyOf() 方法如何工作?它返回通用数组的副本。因此可以创建通用数组。但是怎么做?怎么写出类似copyOf()的方法?
【问题讨论】:
如果您需要在运行时创建它,您至少需要知道当时的类型,因此您可以使用以下方法:
a = (T[]) Array.newInstance(c,s);
其中T 是泛型类型,c 是T 的类,s 是初始大小。
文档here
【讨论】:
我对你的问题感到困惑,但我会尽力回答。
如果你想创建一个泛型类型的数组,包含该数组的类必须使用泛型进行参数化。例如,这有效:
class MyClass<T> {
T[] myGenericArray;
}
在大多数情况下,我敢打赌您正在做的事情可以通过 Object[] 或类似性质的东西来实现,尽管如果您将您的问题更具体一些,我可能会提供更多帮助。
【讨论】: