问题记录
firstPublish.getFunds().stream().filter(firstFund ->
adviceCodeSet.contains(firstFund.getCode())).peek(firstFund -> firstFund.setAdviceState(true));
如上代码,使用 stream 的 peek 进行 set 操作,idea 提示:
提示说Stream.peek()
的返回值被忽略,返回值没有用到。
问题解决
peek返回具有相同元素的流,以供进一步处理,若返回的流没有其他操作,应该改用forEach。
修改后:
firstPublish.getFunds().forEach(firstFund ->
firstFund.setAdviceState(adviceCodeSet.contains(firstFund.getCode())));
参考文献:
1.警告:(86,18)忽略’Stream.peek()‘的结果:https://cloud.tencent.com/developer/ask/sof/688721