我可以使用流使这个 for 循环和 if 语句更简洁吗?

Can I make this for loop and if statement more concise with a stream?

我的代码工作正常,但我想练习 Java 8 个流。我想知道是否可以为此使用流?

quoteOrders 是实现 IOrder 的订单对象列表。如果数据类似于 bookOrder,则该对象的 if 语句将是 true,然后是 return bookOrder.handleOrderRequest(data).

For(IOrder order: quoteOrders){
        if(order.hasRequest(data)){
                return order.handleOrderRequest(data);
        }
}

我考虑过将其更改为类似的东西,但我不确定如何添加 return 语句部分,或者是否可以使用流。

return quoteOrders.forEach(quoteOrder -> { quoteOrders.stream().filter(order -> order.hasRequest(data))

您可以使用 filter 来模拟 if 语句,然后 return 流的 findFirst

return quoteOrders.stream()
                  .filter(order -> order.hasRequest(data))
                  .findFirst()
                  .map(order -> order.handleOrderRequest(data))
                  .orElse(null); // or some other default behavior