Я хочу создать один метод, который может использовать любой метод с любым количеством параметров и любого типа данных.Как вызвать любые методы с любым числом параметров и любым типом данных в Java
Для примера. Я хочу назвать следующие все методы динамически Void method1 (интермедиат х, Int у) аннулируются method2 (INT х, String у) аннулируются method3 (Float X, Long Y, String г)
Я используя отражение для этого. Теперь я заметил, как передать параметры этим методам во время вызова этого динамического метода. Насколько я ....
MyClass myClass = new MyClass();
Class<?> c = myclass.getClass();
Method[] m = c.getMethods();
int i = 0;
Object [] obj; // obj contains values to be passed
for(Method method : m)
{
if("methodX".equals(method.getName()))
{
break;
}
i++;
}
Method myMethod = m[i];
myMethod.invoke(myClass, obj); //this is not working
Как я могу вызвать MyMethod?
Хотя применение метода, я получаю сообщение об ошибке «неверное количество параметров»
Возможный дубликат [Как вызвать метод Java при указании имени метода в виде строки?] (Http://stackoverflow.com/questions/160970/how-do-i-invoke-a-java-method -when-given-the-method-name-as-a-string) – scana
Проверьте имя метода, а также типы параметров. У Apache Commons Lang есть некоторые полезные классы, которые помогают в этом. Тем не менее, ИМО главный вопрос: _что вы пытаетесь достичь с этим? _ – Thomas