【发布时间】:2018-03-13 12:24:23
【问题描述】:
如何在 java 中创建一个泛型数组,正确的方法?
T[] buffer = (T[]) new Object[maxSize];
创建一个新的通用集合然后进行转换会更好吗?
【问题讨论】:
-
那是正确的方式。你是什么意思通用集合而不是转换它?
如何在 java 中创建一个泛型数组,正确的方法?
T[] buffer = (T[]) new Object[maxSize];
创建一个新的通用集合然后进行转换会更好吗?
【问题讨论】:
【讨论】:
像这样的
final T[] a = (T[]) Array.newInstance(clazz, size);
【讨论】:
您可以使用 newInstance 方法提供 Array 类,但它需要 Class 类型。
我看到的唯一解决方案是创建一个 Object 数组,然后将其转换为 T[]
T[] array = (T[])Array.newInstance(Object.class, size);
【讨论】: