Lambda 表達式的基礎語法: Java8引入了一個新的操做符 「->」 該操做符稱爲箭頭操做符或Lambda操做符, 該操做符將Lambda表達式拆分爲兩部分:函數
左側: Lambda表達式參數列表;blog
右側: Lambda表達式中所需執行的功能,即Lambda體。接口
語法格式一: 無參數,無返回值。 () -> { }編譯器
例如: Runnable runnable = () -> System.out.print("Hello Lambda");io
語法格式二: 有一個參數,而且無返回值。 (x) ->{ }編譯
說明: 若只有一個參數,小括號能夠神略不寫。
Consumer<String> consumer = (x) -> System.out.print("Hello Lambda");
語法格式四: 有兩個以上參數,又返回值, 而且Lambda式中有多條語句。基礎
說明: 若Lambda體中只有一條語句,return 和 大括號均可以省略不寫。數據類型
Comparator<Integer> comparator = (x, y) -> {
System.out.print("Hello Lambda");
return Integer.compare(x,y);
};
說明: Lambda表達式參數列表的數據類型能夠省略不寫,由於JVM的編譯器經過上下文能夠推斷出類型,即 「類型推斷」語法
Lambda表達式須要「函數式接口」的支持。方法
函數式接口: 接口中只有一個抽象方法的接口,稱爲函數式接口。能夠使用註解@FunctionalInterface修飾 來檢查是不是函數式接口。