В Java вы не можете вызвать метод динамически по его имени или полной сигнатуре, вам надо лезть в Reflection API, получить Class объекта, получить список его методов, получить объект класса метода (Method), и вызвать на нем methodObject.invoke(params).
В Groovy это чуть проще... Примерно вот так:
В Groovy это чуть проще... Примерно вот так:
public class TestClass{ public testA(){println "Called A"} public testB(){println "Called B"} public testC(){println "Called C"} public testD(){println "Called D"} } def methodName = 'testA' TestClass test = new TestClass() test."$methodName"()
Печатает как можно догадаться, Called A.
Комментариев нет:
Отправить комментарий