这篇文章适合又必定编程经验的人阅读。
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