、、およびの操作test()
を示す汎用関数を作成したいと思います。次のようになります (コンパイルされません)。Stream
allMatch
anyMatch
noneMatch
import java.util.stream.*;
import java.util.function.*;
public class Tester {
void test(Function<Predicate<Integer>, Boolean> matcher, int val) {
System.out.println(
Stream.of(1,2,3,4,5).matcher(n -> n < val));
}
public static void main(String[] args) {
test(Stream::allMatch, 10);
test(Stream::allMatch, 4);
test(Stream::anyMatch, 2);
test(Stream::anyMatch, 0);
test(Stream::noneMatch, 0);
test(Stream::noneMatch, 5);
}
}
matcher
(私が思うに) 私の課題は、ここで行う方法ではなく、おそらくジェネリックにする必要があるものを定義することです。また、ここで示した呼び出しが可能かどうかもわかりませんmain()
。
これができるかどうかさえわからないので、洞察をいただければ幸いです。