Использование findAll Collection Closure в Groovy - PullRequest
1 голос
/ 20 января 2009

У меня есть «Set», для которого мне нужно использовать замыкание findAll. Набор содержит объекты, а не только примитивные значения. Например ... У меня есть набор объектов Employee, и мне нужно перебирать и захватывать элементы этого набора объектов Empolyee по атрибутам Employee.

По некоторым причинам замыкание findAll, похоже, просто игнорирует мое закрытие и возвращает пустой набор.

Вот мой синтаксис;

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

1 Ответ

3 голосов
/ 20 января 2009

У меня работает следующее:

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]

Можете ли вы опубликовать свой код?

Edit: добавлено "как Set", так как я заметил, что вопрос касается наборов, а не списков. Это также работает для меня.

...