List通过stream把字符转成BigDecimal格式并求和

  • Post author:
  • Post category:其他


今天遇到需要将集合中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 版权协议,转载请附上原文出处链接和本声明。