Единственный способ получить такой метод - использовать getMethods()
и отфильтровать его вручную, это не так сложно, всего несколько простых проверок для каждого метода.
но, если вам просто нужно вызватьметод, который вы можете использовать более динамичным способом (но он также будет медленнее, поскольку вы не можете кэшировать Method
экземпляр)
public static void main(String[] args) throws Exception {
Expression someMethod = new Expression(Tezd.class, "someMethod", new Object[]{1, 2, null, "huh"});
someMethod.execute();
System.out.println(someMethod.getValue());
}
public static String someMethod(int a, int b, Object object, String str) {
return a + ", " + b + ", " + object + ", " + str;
}
Первый аргумент - это цель, я использовал класс, так как это статический метод,для обычного метода просто передайте объект здесь.
К сожалению, метод, используемый java.beans.Expression
для получения соответствующего метода, не является открытым.