lambda表示式推導和使用

2021-09-26 08:35:32 字數 3119 閱讀 3456

(params) ->expression  

(params) ->statement

(params) ->

new thread(()->system.out.println("多執行緒學習。。。")).start();
1、lambda表示式逐級推導

1

package

com.sxt.thread;23

/**4

* lambda表示式 簡化執行緒(用一次)的使用5*/

6public

class

lambdathread 14}

15}1617

public

static

void

main(string args) 27}

28}2930

new thread(new

test2()).start();

3132

//匿名內部類 必須借助介面或是父類

33new thread(new

runnable() 39}

40}).start();

4142

//jdk8簡化

43new thread(() ->

47}).start();48}

49 }

2、再次推導,加深印象

1

package

com.sxt.thread;23

/**4

* @classname lambdatest01

5* @description todo

6* @date 2019/7/23 22:46

7* @version 1.08*/

9public

class

lambdatest01 18}

1920

public

static

void

main(string args) 35}

36 like = new

like3();

37like.lambda();

3839

//匿名內部類

40 like = new

ilike()

45};

46like.lambda();

47//

lambda推導必須存在型別

48 like = () ->;

51like.lambda();52}

53}5455

inte***ce

ilike

5859

//外部類

60class like implements

ilike

66 }

3、lambda引數傳遞(無返回值)以及簡化

1

package

com.sxt.thread;23

/**4

* lambda推導+引數5*/

6public

class

lambdatest02 ;

13 love.lambda(100);

1415

//簡化

16 love = (a) ->;

19 love.lambda(60);

2021

//只有乙個引數,()可以省略

22 love = a ->;

25 love.lambda(80);

2627

//如果**只是一行,還可以省略

28 love = a -> system.out.println("i like lambda-->" +a);

29 love.lambda(90);30}

31}3233

inte***ce

ilove

3637

//外部類

38class love implements

ilove

44 }

4、多個引數+返回值

1

package

com.sxt.thread;23

/**4

* lambda推導+引數+返回值5*/

6public

class

lambdatest03 ;

1415 interest.lambda(100,200);

1617 interest = (a,c)->;

21 interest.lambda(200,200);

2223

//()不可以省略

24/*

interest = a,c-> ;

*/28

29 interest = (a,c)->;

3233 interest = (a,c)->a+c;

3435 interest = (a,c)->100;

3637

38 system.out.println(interest.lambda(10,20));

394041}

4243}44

45inte***ce

iinterest

4849

//外部類

50class interest implements

iinterest

57 }

5、多執行緒示例

1

package

com.sxt.thread;23

/**4

* lambda推導+引數+返回值5*/

6public

class

lambdatest04

14}).start();

1516

new thread(()->system.out.println("456")).start();17}

1819 }

lambda表示式的推導

學習多執行緒過程中解除到lambda表示式,現在總結一下。為什麼使用lambda表示式 函式式介面 任何介面,如果只包含乙個抽象方法,那麼它就是乙個函式式介面直接上 感受各種類 package com.laoongcai.gitxuexi.lambda author chen description...

Lambda表示式和Lambda表示式樹

原版來自 linq學習筆記之二 lambda表示式和lambda表示式樹 lambda 表示式 lambda expressions 是linq實現的另一特性。lambda表示式的作用就是使用使用函式式語法,將方法實現關聯到委託例項。在使用查詢表示式 query expressions 時,查詢表示...

lambda表示式 lambda表示式

1.概述 c 11 中的 lambda 表示式用於定義並建立匿名的函式物件,以簡化程式設計工作。lambda 的語法形式如下 函式物件引數 操作符過載函式引數 mutable 或 exception 宣告 返回值型別可以看到,lambda 主要分為五個部分 函式物件引數 操作符過載函式引數 muta...