gpt4 book ai didi

Java:DTO 集合内值的总和

转载 作者:行者123 更新时间:2023-11-30 06:02:51 25 4
gpt4 key购买 nike

计算 MyDTO 中 amountField 的总和,Java 8

private Double getSum(List<MyDTO> myDTOList) {
return myDTOList.stream().map(MyDTO::getAmount).reduce(0d, Double::sum);
}

最佳答案

您可以使用Stream.mapToDouble将其转换为 DoubleStream,然后使用 DoubleStream.sum :

return myDTOList.stream().mapToDouble(MyDTO::getAmount).sum();

值得一提的是,上述内容也适用于 amountinteger 类型的情况,而您共享的代码如果 amount 的类型仍然可以正常工作已经是double


或者正如您在评论中指出的那样,如果您的 DTO 对象可以为 null,您可以使用以下方法过滤掉这些值:

return myDTOList.stream().filter(Objects::nonNull).mapToDouble(MyDTO::getAmount).sum();

关于Java:DTO 集合内值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53442120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com