為什麼要用lambda表示式?
functional inte***ce(函式式介面)
package com.thread.lambdatest;
/** 推導lambda表示式
* 注釋的序號,是乙個逐步簡化的過程
* 1.定義乙個函式式介面
* 2.用實現類實現介面
* 3.用靜態內部類實現介面
* 4.用區域性內部類實現介面
* 5.用匿名內部類實現介面
* 6.用lambda表示式簡化實現介面
* */
//1.定義乙個函式式介面
inte***ce
love
//2.實現類
class
person
implements
love
}public
class
lambdatest
}public
static
void
main
(string[
] args)
}//5.匿名內部類,沒有類的名稱,必須借助介面或者父類
love love4 =
newlove()
};//6.用lambda表示式簡化
love love5 =()
->
;//測試實現類輸出
love love =
newperson()
; love.
showlove()
;//測試靜態內部類輸出
love love2 =
newperson2()
; love2.
showlove()
;//測試區域性內部類輸出
love love3 =
newperson3()
; love3.
showlove()
;//測試匿名內部類輸出
love4.
showlove()
;//測試lambda表示式簡化後輸出
love5.
showlove()
;}}
對於lambda表示式的簡化
package com.thread.lambdatest;
/** 繼續簡化lambda表示式
* */
//還是先定義介面
inte***ce
kiss
public
class
lambdatesttwo
; kiss.
kissyou
("漂亮");
//簡化方式一:引數型別 (兩種寫法:一種寫在引數括號內部(只限單引數);另一種在引數括號外部)
kiss kiss2 =
(name -
>);
kiss2.
kissyou
("漂亮x2");
kiss2 =
(name)
->
; kiss2.
kissyou
("漂亮x2.1");
//簡化方式二:簡化引數括號
kiss kiss3 = name -
>
; kiss3.
kissyou
("漂亮x3");
//簡化方式三:簡化**外層花括號
kiss kiss4 = name -
> system.out.
println
("i want to kiss you "
+name)
; kiss4.
kissyou
("漂亮x4");
}}
總結注意: lambda表示式 lambda表示式
1.概述 c 11 中的 lambda 表示式用於定義並建立匿名的函式物件,以簡化程式設計工作。lambda 的語法形式如下 函式物件引數 操作符過載函式引數 mutable 或 exception 宣告 返回值型別可以看到,lambda 主要分為五個部分 函式物件引數 操作符過載函式引數 muta...
Lambda表示式和Lambda表示式樹
原版來自 linq學習筆記之二 lambda表示式和lambda表示式樹 lambda 表示式 lambda expressions 是linq實現的另一特性。lambda表示式的作用就是使用使用函式式語法,將方法實現關聯到委託例項。在使用查詢表示式 query expressions 時,查詢表示...
Lambda表示式表示式樹
在c 3.0中,繼匿名方法之後出現了lambda 表示式,使表達更為簡潔 快捷。lambda 表示式使用lambda 運算子 來定義,語法如下 引數列表 lambda 運算子的左邊是輸入引數,定義lambda表示式的接收引數列表,右邊包含表示式或語句塊,表示將表示式的值或語句塊返回的值傳給左邊的引數...