我学过以下两种创建通用数组的方法。
第一种是
@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));
}
哪个更好?它们内部是相同的吗?有任何错误的情况吗?