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