通过Groovy中的属性引用类的实例

时间:2017-03-14 22:07:51

标签: groovy

鉴于以下内容:

    class Parent {
        private String name,
        private List<Child> children
    }

    class Child {
        private String name
    }

我希望能够通过以下方式引用特定的孩子:

    parent.children('bob')

而不是索引:

    parent.children[0]

如何在Groovy中完成?

2 个答案:

答案 0 :(得分:2)

只需向Parent添加方法即可:

Child children(String name) {
    children.find { it.name == name }
}

答案 1 :(得分:1)

将孩子定义为地图:

Map<String,Child> children

然后

parent.children.bob

parent.children[ 'bob' ]