具有两个功能参数的java8方法不起作用

时间:2019-07-09 09:08:30

标签: java-8 java-stream

我想写一个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);
}

0 个答案:

没有答案