MethodUtils.invokeMethod создает исключение NullPointerException
В моем коде у меня следующий сценарий..
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 ответа
Это может произойти из-за того, что у вашего класса и методов нет открытого идентификатора доступа, попробуйте сделать ваш класс и метод общедоступным.
Эта проблема, вероятно, возникает из-за того, что Механизму не удалось найти ваш метод, он выполняет поиск, сопоставляя имя метода и тип параметров, вы определили один параметр как нулевой, и он не может найти тип данных со значением null. Попробуйте вызвать вашу функцию с указанным типом данных