在Groovy中使用findAll Collection Closure

时间:2009-01-20 18:47:43

标签: groovy iteration

我有一个“Set”,我需要使用findAll闭包。集合包含对象,而不仅仅是原始值。例如......我有一组Employee对象,我需要通过Employee的属性迭代并获取该组Empolyee对象的元素。

由于某种原因,findAll闭包似乎只是忽略我的关闭并返回一个空集。

这是我的语法;

dstCollection = srcCollection.findAll{
    it.age == 22
}

1 个答案:

答案 0 :(得分:3)

以下适用于我:

class Employee {
    int age

    String toString() {
        age
    }
}

def list = [ new Employee(age:22), new Employee(age:23), new Employee(age:22) ] as Set

println list
println list.findAll { it.age == 22 }

输出:

[22, 23, 22]
[22, 22]

你可以发布你的代码吗?

编辑:添加“as Set”,因为我注意到问题是关于集合而不是列表。这对我也有用。