如何使用反射来调用以varg为参数的方法?

时间:2018-10-30 13:32:53

标签: java reflection invoke

我正在尝试使用反射来调用以 varg 作为参数的方法。

这是我尝试调用

的方法
public void serve(Object... args) 
{
    System.out.println("Hi!");
}

这是我的代码,通过 reflection

调用此方法
Object[] params = new Object[] {new Object(), new Object()};

Class<?> cls = Class.forName("com.reflec.Serve");
Service service = (Service) cls.newInstance();
for(Method method : cls.getMethods())
{
    if(method.getName().equals("serve"))
    {
        method.invoke(service, params);
    }
}

但是,我不断收到以下错误 java.lang.IllegalArgumentException:错误的参数数量

有人有什么主意吗?

0 个答案:

没有答案