我有发送订单列表。当参数的方法名称相同时
它会增加但它不起作用。因为它没有终止操作
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?