天天看點

2、Lambda 文法格式

1、文法定義。

(參數)->{函數體}
           
  • 函數的參數
  • 函數->
  • 函數體
  • 隻有一個參數時,括号可以省略
  • 函數體隻有一個語句時,括号可以省略

    如果用面向對象的思維來看Lambda,可以包Lambda的一個高度的抽象。

2、Java函數式接口@FunctionalInterface

Java 實作函數式程式設計是通過一種特殊的接口。

  • 1、該注解隻能标記在"有且僅有一個抽象方法"的接口上。
  • 2、JDK8接口中的靜态方法和預設方法,都不算是抽象方法。
  • 3、接口預設繼承java.lang.Object,是以如果接口顯示聲明覆寫了Object中方法,那麼也不算抽象方法。
  • 4、該注解不是必須的,如果一個接口符合"函數式接口"定義,那麼加不加該注解都沒有影響。加上該注解能夠更好地讓編譯器進行檢查。如果編寫的不是函數式接口,但是加上了@FunctionInterface,那麼編譯器會報錯。

3、常見函數表達式