我有2种方法可以获得相同的参数:
void removeJob(def user,def company,String job){}
void addJob(def user,def company,String job){}
我想使用invokeMethod(),但我不确定如何。 我试试:
def methodName = selectedChange[2]=='true'?'add':'remove'
roleService.invokeMethod(methodName+'Job',[userSelected, selectedCompany,selectedChange[1]])
但我收到了错误
答案 0 :(得分:1)
您可以使用GString为方法名称动态调用该方法:
String methodName = selectedChange[2] == 'true' ? 'add' : 'remove'
roleService."${methodName + 'Job'}"(userSelected, selectedCompany, selectedChange[1])
这也适用于属性,例如
String propertyName = 'fooCount'
int count = person."$propertyName"