1

findAll クロージャーを使用する必要がある「セット」があります。Set には、プリミティブ値だけでなく、オブジェクトが含まれています。たとえば...私は従業員オブジェクトのセットを持っており、従業員の属性によってその従業員オブジェクトのセットの要素を反復して取得する必要があります。

何らかの理由で、findAll クロージャーは私のクローズを無視しているようで、空のセットを返します。

これが私の構文です。

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

1 に答える 1

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]

あなたのコードを投稿できますか?

編集:質問がリストではなくセットに関するものであることに気付いたので、「セットとして」を追加しました。これは私にとってもうまくいきます。

于 2009-01-20T20:19:17.910 に答える