是否可以通过反射从非泛型类中获取通用(参数化)方法? 这是我想要做的样本:
public interface GenericInterface<T> {
public T publicMethod(T arg);
}
public class NonGenericClassWithGenericMethods {
private <T> void privateMethod(GenericInterface<T> arg) {
}
}
public class Generics {
public static void main(String[] args) {
try {
NonGenericClassWithGenericMethods.class.getMethod("privateMethod", GenericInterface.class).setAccessible(true);
}
catch(Exception ex) {
ex.printStackTrace();
}
}
}
如果我运行Generics,我会得到:
java.lang.NoSuchMethodException: NonGenericClassWithGenericMethods.privateMethod(GenericInterface)
谢谢大家
答案 0 :(得分:7)
.getDeclaredMethod()
代替.getMethod()
,而{{1}}只返回公开的内容。