喵星之旅-狂奔的兔子-centos7安裝vnc服務端(tigervnc)
阿新 • • 發佈:2020-08-28
Lambda表示式
-
Lambda表示式:特殊的匿名內部類,語法更簡潔
-
Lambda表示式允許把函式作為一個方法的引數(函式作為方法引數傳 遞),將程式碼像資料一樣傳遞。
-
基本語法:
<函式式介面> <變數名> = (引數1,引數2...) -> { //方法體 };
-
Lambda引入了新的操作符:
->
(箭頭操作符),->
將表示式分成兩部分• 左側:(引數1,引數2…)表示引數列表
• 右側:{}內部是方法體
-
注意事項:
• 形參列表的資料型別會自動推斷。
• 如果形參列表為空,只需保留() 。
• 如果形參只有1個,()可以省略,只需要引數的名稱即可。
• 如果執行語句只有一句,且無返回值,{}可以省略,若有返回值,則若想省去{},則 必須同時省略return,且執行語句也保證只有一句。
• Lambda不會生成一個單獨的內部類檔案。
函式式介面
- 如果一個介面只有一個抽象方法,則該介面稱之為函式式介面,函式式介面 可以使用
Lambda
表示式,Lambda
表示式會被匹配到這個抽象方法上 。 @FunctionalInterface
註解可以檢測介面是否符合函式式介面。
示例:
-
//介面 @FunctionalInterface public interface Usb { void service(); }
-
//實現 public class Demo { public static void main(String[] args) { Usb mouse = new Usb() { @Override public void service() { System.out.println("滑鼠開始工作了..."); } }; Usb fan = () -> System.out.println("風扇開始工作了..."); run(mouse); run(fan); } public static void run(Usb usb) { usb.service(); } }