インターフェースの実装クラスで定義した、型パラメータを取得する方法です。
-
インタフェース
public interface Foo<T> { }
-
実装クラス
public class Bar implements Foo<String> { }
-
判定処理
ParameterizedType type = (ParameterizedType) Bar.class.getGenericInterfaces()[0]; Class<?> genericsClass = (Class<?>) type.getActualTypeArguments()[0]; System.out.println(genericsClass);