Lambda表達式

Lambda是從JDK1.8推出的重要新特性。很多的開發語言都開始支持函數式編程。

面向對象的方法要求在于:結構必須非常完整。

使用函數式編程,要求接口只有一個方法。如果接口有多個方法,那么無法使用函數式編程。所以,如果某個接口就是為了函數式編程而生,那么最好在定義該接口的時候,就指明,加一個注解:@FunctionInterface

public class Lambda {
    @FunctionalInterface
    interface IMessage{
        public void print();
    }
    public static void main(String args[]){
        IMessage msg = () -> System.out.println("Hello world");
        msg.print();
    }
}

執行結果如下:

Lamda表達式的單行實現

實際上,對于以上的語法形式:

  • (參數) -> 單行語句:方法中只包含一行語句,只需要編寫一行語句即可。
  • (參數)-> {多行語句}:如果返回計算結果,直接寫語句即可,不需要寫return。
public class Lambda {
    @FunctionalInterface
    interface IMath{
        public int add(int a,int b);
    }
    public static void main(String args[]){
       // 單行語句返回值直接寫就可以,也不需要return
        IMath math = (a,b)->a+b;
        System.out.println(math.add(2,5));
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容