Edited at

インターフェースの型パラメータを取得する

More than 1 year has passed since last update.

インターフェースの実装クラスで定義した、型パラメータを取得する方法です。



  • インタフェース



    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);