Я пытаюсь установить конечные свойства в исходном коде Groovy (используется в проекте Grails) и следую некоторым примерам, но почему-то мне кажется, что это не работает, и я не могу понять, почему ..
class Foo {
final x
Foo(Map m=[:]) {
m.each { key, value -> this.@"$key" = value }
}
}
def foo = new Foo(x:1)
Iполучаю ошибку:
Cannot set the property 'x' because the backing field is final.
Согласно некоторым сообщениям, найденным в Интернете, это должно работать.Почему не получается, как можно установить свойства через карту при использовании последнего поля?