我希望能够根据传入的布尔值应用过滤器.
public static List<Integer> multiplyNumbers(List<Integer> input,boolean ignoreEven){ return input.stream() .filter(number -> !(number%2==0)) .map(number -> number*2) .collect(Collectors.toList()); }
我想根据ignoreEven标志进行过滤步骤.如果是真的,请忽略偶数.我该怎么做呢?我这样做是为了避免代码重复
解决方法
对我来说听起来很简单或有条件.
.filter(number -> !ignoreEven || (number % 2 != 0))