1. 程式人生 > 實用技巧 >windows 用VMware建立linux虛擬機器安裝CentOS7.2作業系統

windows 用VMware建立linux虛擬機器安裝CentOS7.2作業系統

lambda是什麼:

  • lambda是Java8的重要新特徵,使用 Lambda 表示式可以使程式碼變的更加簡潔緊湊,同時lambda 允許把函式作為一個方法的引數(函式作為引數傳遞進方法中)。
  • 相較於Java7匿名內部類,lambda不僅僅是語法糖而已,經反編譯後可知:匿名內部類會建立一個內部類物件,而lambda表示式會被封裝為主類的私有方法。
  • lambda表示式會省略方法名或省略方法名與介面名(僅能取代函式介面:一個有且僅有一個抽象方法,但是可以有多個非抽象方法的介面。),即:
//此處省略Runable介面與run方法名稱
new
Thread( () -> { System.out.print(
"Hello"); } ).start();

語法特徵:

  • (parameters) -> expression(parameters) ->{ statements; }
  • 以下是lambda表示式的重要特徵:
  1. 可選型別宣告:不需要宣告引數型別,編譯器可以統一識別引數值。
  2. 可選的引數圓括號:一個引數無需定義圓括號,但多個引數需要定義圓括號。
  3. 可選的大括號:如果主體包含了一個語句,就不需要使用大括號。
  4. 可選的返回關鍵字:如果主體只有一個表示式返回值則編譯器會自動返回值,大括號需要指定明表示式返回了一個數值,即:
Function f1=(a)-> a.toString();
//或
Function f1
=(a)-> {return a.toString();};
  • 類名::方法名

    注意是方法名哦,後面沒有括號“()”。為啥不要括號,因為這樣的是式子並不代表一定會呼叫這個方法。這種式子一般是用作Lambda表示式,Lambda有所謂懶載入嘛,不要括號就是說,看情況呼叫方法。

參考:

https://www.runoob.com/java/java8-functional-interfaces.html

https://objcoding.com/2019/03/04/lambda/

https://blog.csdn.net/lsmsrc/article/details/41747159

後續:lambda與Collections、stream(待整理)