如何创建泛型数组?我不明白泛型和数组之间的联系。我可以用泛型类型创建数组引用:private E[] elements; //GOOD但不能创建具有泛型类型的数组对象:elements = new E[10]; //ERROR但它起作用了:elements = (E[]) new Object[10]; //GOOD
3 回答
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
LinkedList<T>#toArray(T[]):
public <T> T[] toArray(T[] a) {
if (a.length < size)
a = (T[])java.lang.reflect.Array.newInstance(
a.getClass().getComponentType(), size);
int i = 0;
Object[] result = a;
for (Node<E> x = first; x != null; x = x.next)
result[i++] = x.item;
if (a.length > size)
a[size] = null;
return a;}Array.newInstance(Class, int)int
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
new E[10]new Object[10].
E
创建对象数组并将其转换为 E[]数组,或 使用 Array.newInstance(类组件类型,int长度) 若要创建传入的类型数组的实际实例,请执行以下操作 componentType装备。
添加回答
举报
0/150
提交
取消
