鉴于以下内容:
class Parent {
private String name,
private List<Child> children
}
class Child {
private String name
}
我希望能够通过以下方式引用特定的孩子:
parent.children('bob')
而不是索引:
parent.children[0]
如何在Groovy中完成?
答案 0 :(得分:2)
只需向Parent
添加方法即可:
Child children(String name) {
children.find { it.name == name }
}
答案 1 :(得分:1)
将孩子定义为地图:
Map<String,Child> children
然后
parent.children.bob
或
parent.children[ 'bob' ]