我一直在尝试通过在POGO中定义一个自定义putAt方法来利用operator overloading in Groovy,如下所示:

class Book {
    Map additionalInfo = [:]

    def putAt(key, value) {
        additionalInfo[key] = value
    }
}

这样我就可以做类似book['notes'] = 'I like this one.'的事情(假设这很有意义)。但是,我得到了:
groovy.lang.MissingPropertyException: No such property: notes for class: Book
    at BookSpec.Set property using putAt(BookSpec.groovy:40)

我的类(class)是Grails应用程序的一部分,所以我不确定Grails是否与问题有关。有人可以启发我吗?

最佳答案

签名应为

def putAt(String key, value)

关于grails - 为什么覆盖putAt会导致MissingPropertyException?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28678643/

10-09 00:41