select(list, having(on(Integer.class).intValue() % 2, equalTo(0)));
上記のコードは例外をスローします。
select(list, having(on(Integer.class).intValue() % 2, equalTo(0)));
上記のコードは例外をスローします。
操作はselect()の%
前に評価する必要がありますが、エントリごとに評価する必要があります。つまり、必要なのはJava8で使用可能なクロージャです。
ループを使用している場合は、次のように記述できます。
for(int i: list)
if(i % 2 == 0)
// do something with i.
Javaの構文では、理想的には選択肢が必要な場合に、ループを使用することが最もクリーンなソリューションになることがよくあります(これもはるかに高速です)。
独自のマッチャーを定義する必要があります。
Matcher<Integer> even = new Predicate<Integer>() {
public boolean apply(Integer item) {
return item % 2 == 0;
} };
適応元:http://code.google.com/p/lambdaj/wiki/LambdajFeatures