这篇文章适合又一定编程经验的人阅读。
lambda是已经出了很久的概念,而最近项目使用的是java8,所以我想顺道学学java8的特性。基础的范例文章网上一大把,可是实际应用的上的寥寥无几,毕竟我们有很多的逻辑需要处理,不仅仅是System.out。
场景:客户下了多个订单,我需要得到订单的总金额。
平时的话我们用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);
}
啊啊啊,就是这么简单,但是别人却没这么写过,其实代码并不复杂,慢慢的你就理解了!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。