java8 lambda表达式应用

这篇文章适合又必定编程经验的人阅读。
lambda是已经出了好久的概念,而最近项目使用的是java8,因此我想顺道学学java8的特性。基础的范例文章网上一大把,但是实际应用的上的寥寥无几,毕竟咱们有不少的逻辑须要处理,不单单是System.out。java

场景:客户下了多个订单,我须要获得订单的总金额。
平时的话咱们用for循环,将单价和数量乘积获得就能够了,可是在lambda里面呈现的是什么样的呢?下面我给你们一个别的文章并不会给出,可是绝对经常使用的例子:编程

public static void main(String ...strings){
        //第一个订单,其余订单信息我就不写了
        OrderDetail od1= new OrderDetail();
        od1.setNumber(2);
        od1.setPrice(15.0F);
        //第二个订单
        OrderDetail od2= new OrderDetail();
        od2.setNumber(5);
        od2.setPrice(23.0F);
        //加入待统计的list中
        List<OrderDetail> list= Arrays.asList(od1,od2);
        //获得总额
        double total=list.stream().mapToDouble(od -> od.getNumber()*od.getPrice()).sum();
        System.out.println(total);
        
    }

啊啊啊,就是这么简单,可是别人却没这么写过,其实代码并不复杂,慢慢的你就理解了!spa

clipboard.png

相关文章
相关标签/搜索