Java: динамическое вызов общего статического метода из другого класса [duplicate]

(Название проекта: \ s + [AZ]: (?: \\ w +) +. [a-zA-Z] + \ s + J [0-9] {7}) (? =:)

Это будет работать для вас.

Добавление (?: \\ w +) +. [a-zA-Z] + будет более ограничительным, а не. *

1
задан Luis Sep 11 April 2013 в 09:54
поделиться

3 ответа

Вам нужно включить подпись параметра.

 operacionDTO.getClass().getMethod("setPrioridad", Integer.TYPE)
11
ответ дан Thilo 26 August 2018 в 03:18
поделиться

Метод getMethod() принимает имя метода и массив параметров varargs. В вашем случае вы должны называть getMethod("setPrioridad", int.class), и все будет работать.

Это связано с тем, что в java (как и в большинстве объектно-ориентированных языков) вы можете определить несколько методов с одинаковым именем и разными сигнатурами, поэтому система различает их с использованием заданных типов параметров.

4
ответ дан AlexR 26 August 2018 в 03:18
поделиться
 operacionDTO.getClass().getMethod("setPrioridad",new Class[]{Integer.TYPE or Integer.class}).invoke(operacionDTO, 0);
1
ответ дан Infinite Recursion 26 August 2018 в 03:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: