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

相關文章
相關標籤/搜索