我有一个对象如下:
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());
关于java - 如何在 Java 8 中使用 reduce 从对象列表创建字符串列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66255080/