今天遇到需要将集合中String类型的金额转成BigDecimal格式并求和,之前用的for循环的方法,感觉比较麻烦,今天试着转成了流的形式.
下面两种写法结果一样:
private List<Order> orders = Arrays.asList(
new Order("800"),
new Order("100"),
new Order("2"));
@Test
public void test31() {
BigDecimal reduce = orders.stream().map(Order::getMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
System.out.println("reduce = " + reduce);
BigDecimal reduce1 = orders.stream().map(e->new BigDecimal(e.getMoney())).reduce(BigDecimal.ZERO, BigDecimal::add);
System.out.println("reduce1 = " + reduce1);
}
```
版权声明:本文为weixin_43526173原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。