Дано:
class A
{
public void m(List l) { ... }
}
Скажем, я хочу вызвать метод m
с отражением, передав ArrayList в качестве параметра m
:
List myList = new ArrayList();
A a = new A();
Method method = A.class.getMethod("m", new Class[] { myList.getClass() });
method.invoke(a, Object[] { myList });
В строке getMethod
в строке 3 будет выбрано NoSuchMethodException
, потому что тип времени выполнения myList - это ArrayList, а не List.
Существует ли общий общий способ, который не требует знания типов параметров класса A?