Javaのジェネリクスについて調べていると、以下のような記事を目にしました。 以下引用です。(http://qiita.com/pebblip/items/1206f866980f2ff91e77) コンパイル時に型情報は消去される パラメータ化された型や、型パラメータの持つ型情報はコンパイラによって消去される。これは型消去(type erasure)と呼ばれる。 例えば、以下の型変数Tを持つジェネリック型を考える。 ContainerはIntegerやBigDecimalなどのNumber型のみの値を保持するコンテナクラス。 class Container<T extends Number> { private T value; public Container(T value) { this.value = value; } public T get() { return value;