我想用getDeclaredMethod()
找到一個方法與此簽名:獲取getDeclaredMethods()來匹配可變參數方法
public void foo(String inArg1, Object... inArgs);
使用此電話:
Class<?>[] argClasses = { String.class, Integer.class };
Method m = clazz.getDeclaredMethod("foo", argClasses);
但它會產生一個NoSuchMethodException
例外。但是,它可以調用的方法(假設你發現一些其他的方式):
Object[] args = { "arg1", new Integer(2) };
m.invoke(instance, args);
我可以一一列舉,與getDeclaredMethods()
,然後嘗試做匹配自己的簽名,但是,似乎是一個大量的工作。
我想做的事情有可能嗎?我只是想念一些愚蠢的東西?
您可能需要傳遞Object []。類而不是Integer.class – hoaz