我在a类中有一个方法:
class Parameter {
...
}
class A {
private <T extends B> void call(T object, Parameter... parameters){
...
}
}
现在我想使用反射来获得方法"调用",
A a = new A();
// My question is what should be arguments in getDeclaredMethod
//Method method = a.getClass().getDeclaredMethod()
Thx。
它们应该是B
和Parameter[]
,因为B
是T
的擦除,并且varargs被实现为数组:
Method method = a.getClass().getDeclaredMethod(
"call",
B.class,
Parameter[].class
);
请注意,您有一个语法错误:<T extends of B>
应该是<T extends B>
。
还要注意,您所展示的方法根本不需要是泛型的。这也同样有效:
private void call(B object, Parameter... parameters) { ... }