[英]Passing values List as parameter a function
我通过使用反射来处理Java类,我列出了不同类型的对象:
public List<Object> MethodSignatureObjects
并且,我需要使用以下逻辑来调用方法:
Class<?> c = Class.forName("class name");
Method method = c.getDeclaredMethod ("method name", parameterTypes)
method.invoke (objectToInvokeOn, params)
有什么方法可以将包含在MethodSignatureObjects上的对象放在getDeclaredMethod上,我的意思是,像这样:
Method method = c.getDeclaredMethod (methodName, param1.class, param2.class, ..);
其中parameter1,parameter2,parameter n ....来自MethodSignatureObjects
我真的很赞赏任何建议。
非常感谢。
您不能将列表但数组传递给方法
// List<Object> methodSignatureObjects
int size = methodSignatureObjects.size();
Class<?>[] asArray = new Class<?>[size];
for ( int i = 0; i < size; i++ ) {
asArray[i] = methodSignatureObjects.get(i).getClass();
}
Class<?> c = Class.forName("class name");
Method method = c.getDeclaredMethod("method name", asArray);
method.invoke (objectToInvokeOn, params)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.