泛型如何在Java中调用具有任意数量参数和任意数据类型的任何方法
我想创建一个方法,该方法可以使用任何数量的参数和任何数据类型的任何方法
例如,我想动态调用以下所有方法 无效方法1(整数x,整数y) void方法2(整数x,字符串y) 无效方法3(浮动x、长y、字符串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
调用方法时,我收到错误“参数数量不正确”
# 1 楼答案
请尝试
myMethod.invoke(subject, obj)
,subject
作为要调用该方法的实例