以前にJavaの配列関連で調べたことがあったのですが、Javaの総称型は型消去によって直感的でない挙動をする場合があります。 Java言語のClassクラスが持つちょっと不思議な性質について - 達人プログラマーを目指して Java5の型システムを理解するにはリフレクションAPIを使ってみるのが最短の近道になる - 達人プログラマーを目指して 特に、総称型の型パラメーターTについては以下はコンパイルできないという制約があります。 new T() new T[配列サイズ] catch (T ... extends T T.class instanceof T また、staticメソッドやstatic初期化ブロック内でクラスの型パラメータを使えないという制約もあります。 AngelikaLanger.com - Java Generics FAQs - Type Parameters - An