Я хочу написать StreamUtils, но я нашел метод с двумя параметрами функционального интерфейса, который не работает
public static <T, R> List<R> mapList(Collection<T> data, Function<T, R> mapFunc, Predicate<R> filter) {
return data.stream()
.map(mapFunc).filter(s -> s != null && filter.test(s))
.collect(Collectors.toList());
}
, когда я вызываю метод в моем UT: ошибка компиляции идеи
@Test
public void mapList() throws Exception {
List<Integer> list = Lists.newArrayList(1, 2,3,4,5,6);
StreamUtils.mapList(list, i -> i + 2, i -> i % 2 == 0);
}