2009-01-20 61 views
1

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

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

这是我的语法;

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

任何帮助将不胜感激。

谢谢。

回答

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] 

您可以发布您的代码?

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

+0

您在toString定义中缺少“{”;-) – 2009-01-20 20:24:15