Lambda表示式的逐步簡化過程,超詳細,乾貨

2021-10-07 18:15:05 字數 2018 閱讀 1539

為什麼要用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表示式的接收引數列表,右邊包含表示式或語句塊,表示將表示式的值或語句塊返回的值傳給左邊的引數...