Question

J'ai un " Set " que je dois utiliser la fermeture findAll sur. L'ensemble contient des objets, pas seulement des valeurs primitives. Par exemple ... J'ai un ensemble d'objets Employé et j'ai besoin d'itérer et de récupérer des éléments de cet ensemble d'objets Empolyee par les attributs de l'employé.

Pour une raison quelconque, la fermeture de findAll semble être simplement ignorer ma fermeture et renvoie un ensemble vide.

Voici ma syntaxe;

dstCollection = srcCollection.findAll{
    it.age == 22
}
Était-ce utile?

La solution

Ce qui suit fonctionne pour moi:

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 }

sortie:

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

Pouvez-vous poster votre code?

Modifier: ajouté "en tant que jeu", car j’ai remarqué que la question portait sur les jeux et non sur les listes. Cela fonctionne aussi pour moi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top