我有一个对象,如下所示:
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] 删除。
我来说两句