基于下面链接提到的一个问题,在使用lambda表达式对BigDecimal类型的数据进行操作的时候,会遇到操作运算符BigDecimal::add编译无法识别的问题,具体原因详见链接;
解决办法:
BigDecimal sums = testFoods.stream().map(f -> new BigDecimal(f.getP())).collect(Collectors.toList()).stream().reduce(BigDecimal.ZERO, BigDecimal::add);
另,在实际处理数据的时候避免精度丢失,应尽量使用BigDecimal类型来存放数据处理结果
内容原创,转载请注明出处
版权声明:本文为u011233710原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。