为了账号安全,请及时绑定邮箱和手机立即绑定

BigDecimal 汇总统计

BigDecimal 汇总统计

扬帆大鱼 2021-06-21 17:15:25
我有一个 BigDecimals 列表。List<BigDecimal> amounts = new ArrayList<>()我如何使用 Java 8 流获取上述列表的汇总统计数据,而不会丢失 BigDecimal 最多 3-4 个小数位的精度?
查看完整描述

3 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

如果您愿意使用第三方库(与 Java 8 流兼容),您可以使用jOOλ,您可以使用它编写:


Tuple5<

    Long, 

    Optional<BigDecimal>, 

    Optional<BigDecimal>, 

    Optional<BigDecimal>, 

    Optional<BigDecimal>

> tuple

amounts.stream()

       .collect(Tuple.collectors(

           Agg.sum(),

           Agg.count(),

           Agg.avg(),

           Agg.<BigDecimal>min(),

           Agg.<BigDecimal>max()

       ));

这不会导致精度损失,但可能比聚合双精度慢得多


查看完整回答
反对 回复 2021-06-23
  • 3 回答
  • 0 关注
  • 230 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信