У меня есть объект с несколькими полями,
class TestObj {
def field1
def field2
}
У меня есть пара значений v1 = "field1" и v2 = "value2" Я хотел бы установить v2 в соответствующее поле, основанное на имени v1, но я бы предпочел не делать этого с помощью switch или if, я продолжаю думать, что для достижения результата должен быть гораздо более "отличный" способ, чем делать что-то вроде этого:
setValues(def fieldName, def fieldVal) {
if (fieldName.equals("field1")) {
field1 = fieldVal
}
if (fieldName.equals("field2")) {
field2 = fieldVal
}
}
Я пробовал сделать это:
setValues(def fieldName, def fieldVal) {
this['${fieldName}'] = fieldVal
}
Однако это не работает, говоря, что нет свойства ${fieldName}
Спасибо.