我invoke
在java中使用该方法时遇到问题。
我有一种方法可以用来为我提供一个Method
对象,它看起来像:
public static Method provideMethod(String methodName, Class targetClass) throws NoSuchMethodException {
Method method = targetClass.getDeclaredMethod(methodName,null);
//Set accessible provide a way to access private methods too
method.setAccessible(true);
return method;
}
好的,当我尝试从任何没有参数的上下文(静态或非静态)访问方法时,此方法非常有效。
现在的问题是我不能调用调用并将参数传递给具有参数的方法,例如:
我有以下方法:
private static boolean createDirectory(String path, String fileName) {
...
}
我想像这样调用它:
Boolean created = (Boolean) DataUtils.provideMethod("createDirectory", FileUtils.class).
invoke(null, String.class, String.class);
但我得到了java.lang.NoSuchMethodException: createDirectory []
。
有人知道我如何调用具有参数的私有静态方法吗?
而且,如何将值传递给该方法的参数?
谢谢,阿克德