MethodUtils.invokeMethod抛出NullPointerException

时间:2014-07-24 10:59:44

标签: java reflection apache-commons-beanutils

在我的代码中,我有以下情况..

class MyClass {
    void myMethod(String arg1, String arg2) {
         //Some stuff
    }
}

我在其他一些类中有MyClass的实例。我使用以下代码

调用了myMethod
MethodUtils.invokeMethod(myClassInstance, "myMethod", managerMethodArguments)

managerMethodArguments是从另一个具有以下代码

的对象传递的
String one = "one";
String two = null;
Object[] managerMethodArguments = {one, two};

以上代码抛出空指针异常。问题是我不知道managerMethodArguments的类类型,如果我知道那么我可以通过另一个具有类类型的方法调用。有解决方案??如何前进??

编辑:

我正在使用org.apache.commons.lang.reflect.MethodUtils

2 个答案:

答案 0 :(得分:0)

可能正在发生,因为您的类和方法没有公共访问标识符,请尝试公开您的类和方法。

答案 1 :(得分:0)

这个问题可能是因为机制找不到您的方法,它通过匹配方法名称和参数类型进行搜索,您已经将一个参数定义为null并且找不到null的数据类型。尝试使用指定调用函数的方法数据类型