小编bit*_*tap的帖子

如何在流中返回void?

我有发送订单列表。当参数的方法名称相同时

它会增加但它不起作用。因为它没有终止操作

List<SendingOrdres> sendingOrders = new ArrayList<SendingOrdres>();

private void countUpOrResetSendingOrders(String method) {
    sendingOrders.stream()
                 .filter((e) -> {
                     System.out.println("filter:"+e);
                     return e.getMethod().equals(method);
                 })
                 .peek((e) -> System.out.println("peek:"+e)) //For check
                 .map((e)->{
                     int nextNowSendingOrder = e.getNowSendingOrder()+1;
                     if(nextNowSendingOrder > e.getMaxSendingOrder()) {
                         e.setNowSendingOrder(0);
                     }else {
                         e.setNowSendingOrder(nextNowSendingOrder);
                     }
                     return e;
                 });
                 // no Termination operation
}
Run Code Online (Sandbox Code Playgroud)

我在上层代码中添加了终止操作。它运行良好。

.collect(Collectors.toList()); 
Run Code Online (Sandbox Code Playgroud)

我有一个问题。我不需要返回值。所以我想返回void
但是如果 Termination 操作没有,Stream 就不会工作。如何在流中返回void?

java java-stream

6
推荐指数
1
解决办法
126
查看次数

标签 统计

java ×1

java-stream ×1