這篇文章適合又必定編程經驗的人閱讀。
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