java - 是否可以覆盖 Grails 域类中的列表访问器?

标签 java grails groovy dns

如果我在 Grails 域类中有一个 List,是否有方法覆盖它的 addX() 和 removeX() 访问器?

在下面的示例中,我希望 MyObject.addThing(String) 被调用两次。事实上,输出是:

Adding thing: thing 2

class MyObject {
    static hasMany = [things: String]
    List things = []

    void addThing(String newThing) {
        println "Adding thing: ${newThing}"
        things << newThing
    }
}

class BootStrap {
    def init = { servletContext ->
            MyObject o = new MyObject().save()
            o.things << 'thing 1'
            o.addThing('thing 2')
        }
        def destroy = {
    }
}

最佳答案

该方法应称为 leftShift(String),而不是 addThing(),如 Groovy 运算符重载中所述page .

关于java - 是否可以覆盖 Grails 域类中的列表访问器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2517039/

相关文章:

java - 为什么仅在 Ice Cream Sandwich 和 JellyBean 中抛出 FileNotFound

java - Eclipselink 验证异常

session - 如何在独立的tomcat实例之间共享 session

grails - 在Grails域中保存引用了另一个记录的记录

grails - 如何在不重新登录的情况下在Grails Multi-Tenancy 单数据库插件中切换用户租户ID

java - 在引用管理表 hibernate 的用户表上插入值 1

java - Web UI 自动化测试适用于桌面 Chrome,但可以在 Android Chrome 中找到元素

java - JSR-292(invokedynamic)对 Groovy 性能有多大影响?

Groovydoc 生成空白文档

jenkins - 如何从辅助类访问作业 DSL 的 readFileFromWorkspace?