Mit findAll Sammlung Closure in Groovy
Frage
Ich habe ein „Set“, das ich brauche die findAll Schließung auf verwenden. Das Set enthält Objekte, nicht nur primitive Werte. Zum Beispiel ... Ich habe eine Reihe von Mitarbeitern Objekten und ich brauche zu durchlaufen und Elemente dieses Satz von Empolyee Objekten durch Attribute des Mitarbeiters zu greifen.
Aus irgendeinem Grund scheint die findAll Schließung nur zu meiner Nähe ignorieren und eine leere Menge zurück.
Hier ist meine Syntax;
dstCollection = srcCollection.findAll{
it.age == 22
}
Lösung
Die folgenden Werke für mich:
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 }
Ausgabe:
[22, 23, 22]
[22, 22]
Können Sie Ihren Code schreiben?
Edit: added „als Set“, da ich die Frage bemerkte über Mengen und nicht die Listen. Dies funktioniert auch für mich.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow