将double类型属性转为bigdecimal类型处理
Map<YearMonth, BigDecimal> payRes = allCertificate.stream()
.collect(Collectors.groupingBy(
transaction -> YearMonth.parse(transaction.getLedgerDate(), formatter),
Collectors.reducing(BigDecimal.ZERO, CertificateResult::getPayAmount, BigDecimal::add)
));
需要注意的是,bigdecimal 类型默认值为null,需要手动初始化一下比较好,或者处理完转回来double类型
.doubleValue方法