我想创建一个方法,任何方法都可以包含任意数量的参数和任何数据类型。
例如。我想动态地调用所有方法 void method1(int x,int y) void method2(int x,String y) void method3(Float x,Long y,String z)
我正在使用反射这样做。现在我坚持认为在调用这个动态方法时如何将参数传递给这些方法。 我做了多远....
MyClass myClass = new MyClass();
Class<?> c = myclass.getClass();
Method[] m = c.getMethods();
int i = 0;
Object [] obj; // obj contains values to be passed
for(Method method : m)
{
if("methodX".equals(method.getName()))
{
break;
}
i++;
}
Method myMethod = m[i];
myMethod.invoke(myClass, obj); //this is not working
如何调用myMethod?
在调用方法时,我收到错误&#34;参数数量不正确&#34;
答案 0 :(得分:0)
尝试myMethod.invoke(subject, obj)
,subject
是您要调用方法的实例。