Java创建泛型数组一种实现方式,在Java中创建泛型数组的唯一方式就是创建一个被擦除类型的新数组,然后对其进行转型。
public class GenericArrayWithTypeToken<T> {
private T[] array;
@SuppressWarnings("unchecked")
public GenericArrayWithTypeToken(Class<T> type, int sz) {
array = (T[]) Array.newInstance(type, sz);
}
public void put(int index, T item) {
array[index] = item;
}
public T get(int index) {
return array[index];
}
public T[] rep() {
return array;
}
public static void main(String[] args) {
GenericArrayWithTypeToken<Integer> gai = new GenericArrayWithTypeToken<>(
Integer.class, 10);
Integer[] ia = gai.rep();
}
}