Java中的通用数组是正确的方法

时间:2018-03-13 12:24:24

标签: java arrays generics

如何以正确的方式在java中创建通用数组?

T[] buffer = (T[]) new Object[maxSize];

创建新的通用集合然后投射它会更好吗?

3 个答案:

答案 0 :(得分:1)

只需声明一个通用列表:

List<T> list = new ArrayList<T>();

或检查回答here

答案 1 :(得分:0)

像这样的事情

final T[] a = (T[]) Array.newInstance(clazz, size);

答案 2 :(得分:0)

您可以使用提供 Array 类的 newInstance 方法,但它需要Class类型。

我看到的唯一解决方案是创建一个 Object 数组,然后将其强制转换为T []

T[] array = (T[])Array.newInstance(Object.class, size);