30
Javaでジェネリック配列を作成する方法は?
Javaジェネリックの実装のため、次のようなコードは使用できません。 public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } タイプセーフを維持しながらこれをどのように実装できますか? Javaフォーラムで次のような解決策を見ました。 import java.lang.reflect.Array; class Stack<T> { public Stack(Class<T> clazz, int capacity) { array = (T[])Array.newInstance(clazz, capacity); } private final T[] array; } しかし、私は本当に何が起こっているのかわかりません。