1. 程式人生 > >Lambda表示式的基本語法

Lambda表示式的基本語法

一:簡介

        在java8中引入了一個新的操作符,“->”,這個操作符箭頭操作符或者Lambda操作符,並且箭頭操作符         將Lambda表示式拆分為兩部分。         a:箭頭左側為Lambda表示式的引數列表         b:箭頭右側為Lambda表示式的Lambda體,就是表示式中所需要執行的功能

二:語法對應簡單例子實現

        1:無引數,無返回值的例子對比:一個是java8以前的寫法,一個是java8的寫法                                效果:                             2:使用Consumer演示,有一個引數,無返回值的例子               

                            效果:                                如果只有一個引數,小括號可以不寫                    3:有多個引數,有返回值,並且Lambda體中存在多條語句                       效果:                        如果Lambda體中,只有一條語句,return和大括號都可以不寫                  4:Lambda表示式的引數列表的資料型別可以省略不寫,因為JVM編譯器可以通過上下文推斷出          資料型別。          
  5:什麼叫做函式式介面?         介面中只有一個抽象方法的介面,叫做函式式介面。         可以使用@FunctionalInterface註解檢查是否是函式式介面。                  ⑴下面我們建立一個函式式介面的例子                                效果:                          

6:練習

        :⑴:通過Collections.sort()方法,通過定製排序比較兩個Employee(先按年齡比,年齡相同按姓名比),              使用Lambda作為引數傳遞。              

             效果:                         ⑵:要求如下               a:申明函式式介面,介面中申明抽象方法:public String getValue(String str);               b:申明類TestLambda,類中編寫方法使用介面作為引數,將一個字串轉換為大寫,                     並且作為方法的返回值               c:再將一個字串的第二個和第四個的索引位置進行擷取子串               ①介面                                    ②方法以及測試類                                        效果:                              ⑶:要求如下                a:申明一個帶兩個泛型的函式式介面,泛型型別為<T,R>,T為引數,R為返回值                b:介面中申明對應抽象方法                c:在TestLambda類中申明方法,使用介面作為引數,計算兩個Long型引數的和                d:再計算兩個Long型引數的乘積                                               效果:                  

文章目錄