【发布时间】:2013-06-20 03:28:12
【问题描述】:
我学习了以下两种创建泛型数组的方法。
一个是
@SuppressWarnings("unchecked")
static <T> T[] array1(final Class<T> elementType, final int size) {
return (T[]) Array.newInstance(elementType, size);
}
另一个是
static <T> T[] array2(final Class<T[]> arrayType, final int size) {
return arrayType.cast(Array.newInstance(arrayType.getComponentType(), size));
}
哪个更好?它们(内部)相同吗?真的有任何情况是错误的吗?
【问题讨论】:
-
我认为第一种方法更好
-
有人可以解释第二种方法吗?它在做什么?