假设我有一个界面:
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 接口的参数化实现?