Java 8 Reflections错误:java.lang.IllegalArgumentException:参数个数错误

时间:2016-03-23 11:45:54

标签: java reflection arguments invoke illegalargumentexception

当我执行以下Java代码

map = new HashMap<>();

cl = new Configuration().getClass();
Method[] m = cl.getMethods();

for (int i = 0; i < m.length; i++) {
    if (!m[i].getName().startsWith("get")) {
        m = (Method[]) ArrayUtils.remove(m, i);
    }
}

for (int i = 0; i < m.length; i++) {
    try {
        Object[] obj = {};
        String key = m[i].getName().substring(3);
        cl = Class.forName("com.nttdata.tbridge.platformmonitoring.configuration.Configuration");
        map.put(key, m[i].invoke(new Configuration(), obj).toString());
    } catch (Exception e) {
        e.printStackTrace();
    }
}

我收到以下错误:

java.lang.IllegalArgumentException: wrong number of arguments
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)

此代码有助于在我的浏览器中打印我的应用程序所包含的文件。在我的项目中的类上应用反射,我调用Configuration,其中包含用于读取文件的函数。好像我在invoke()函数中遗漏了一些东西?

0 个答案:

没有答案