ごきげんうるわしゅぅ。 さて、今回はジェネリックスの話題。 ジェネリックスになれてくるとうっかり書いてしまうのが、以下のコード。 public class MyArray<E>{ private E[] elements; public MyArray(int n){ elements = new E[n]; } public E get(int index){ return elements[index]; } public void set(int index, E value){ elements[index] = value; } } これは機能しそうですが、実際には以下でコンパイルエラーになります。 elements = new E[n]; え?なぜできないの?って考えてしまうのですが、Eなどの具象化不可能型*1は配列を生成できないのです。 回避方法その1 えぇい、Listにして