如何在Java 8中使用reduce从对象列表创建字符串列表?

安东尼·卢斯基尼奥斯

我有一个对象,如下所示:

class Order {
  private String code;
  private String status;
  // Constructor, getters and setter and so on
}

我需要从满足条件的订单列表中创建代码列表。我已经在JavaScript中实现了类似的功能,如下所示:

const codes = orders.reduce((codeList, order) => {
  if (order.status === 'NEW') return codeList.push(order.code)
  return codeList
}, [])

使用Java 8可以实现吗?

他们是

在Java中,您应该为此使用collect而不是reduce

List<String> codes =
    orders.stream()
          .filter(o -> o.getStatus().equals("NEW"))
          .map(Order::getCode)
          .collect(Collectors.toList());

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章