私はインターフェースを持っているとしましょう:
public interface Authentication<T> {
public void authenticate(T token);
}
AuthenticationMethods
いくつかの内部クラスを持つクラスがあります。
私がやりたいことは、すべての内部クラスを取得できるユーティリティを作成し、次のように、内部クラスAuthentication<T>
の Type とのインターフェイスを実装するクラスを生成することです。T
for (Class clazz : AuthenticationMethods.class.getDeclaredClasses()){
createAuthenticationImplClass(clazz);
}
private <T> Authentication<T> createAuthenticationImplClass(Class clazz){
return new Authentication<clazz>() {
@Override
public void authenticate(clazz token) throws Exception {
//do something with the token
}
};
}
明らかclazz
に代わりに使用するだけではT
機能しません。
clazz から Authentication インターフェースのパラメーター化された実装にタイプを取得するにはどうすればよいですか?