Lambda表示式基本語法(二)

2021-10-02 07:47:14 字數 1902 閱讀 3960

宣告:就是與表示式繫結的介面型別

引數:包含在一對圓括號中,和繫結的介面中的抽象方法中的引數個數是一致的

操作符號:->

介面宣告=(引數)-> (執行的**塊)

箭頭左側:表示式的引數列表

箭頭右側:表示式執行的功能

無引數,無返回值() -> system.out.println(「helloworld」)

這裡以執行緒的建立為例子:

public

class

test_01};

r.run();

runnable r1 =()

-> system.out.

println

("hello,lambda");

r1.run();

}}

輸出的結果都是一樣的

支援lambda表示式之後,執行緒的建立變的更加的簡單

有乙個引數無返回值的情況: (x) -> system.out.println(x);只有乙個引數的時候括號可以省略的

@test

public

voidt2(

)

有多個引數,有返回值,並且lambd體中有多條語句時,必須使用大括號{}

@test

public

voidt3(

);}

有多個引數,有返回值,並且lambd體中只有1條語句時

@test

public

voidt4(

)

lambda表示式中的引數的資料型別可以不寫,jvm會自動推斷引數的資料型別

**運用

public

class

; i1.

test()

;//hello welcome

ilambda2 i2=

(string n,

int a)

->

;//a18

i2.test

("a",18

);ilambda3 i3=

(x,y)

->

;//5

system.out.

println

(i3.

test(2

,3))

; ilambda3 i31=

(x,y)

-> x + y;

//35

system.out.

println

(i31.

test(12

,23))

;/**

** lambda表示式必須與介面進行繫結,

* 引數可以帶0-n個引數,引數型別可以不用指定

* 返回值,如果**塊只有一行,並且沒有大括號不用寫return

* 若新增了大括號,或者有多行的**,必須使用return返回結果

*/}/**

* 無引數,沒有返回值的lambda表示式繫結的介面

*/inte***ce

ilambda1

/** *帶有引數,沒有返回值的lambda表示式

*/inte***ce

ilambda2

inte***ce

ilambda3

}

總結

lambda表示式必須與介面進行繫結,

引數可以帶0-n個引數,引數型別可以不用指定

返回值,如果**塊只有一行,並且沒有大括號不用寫return

若新增了大括號,或者有多行的**,必須使用return返回結果

lambda表示式 lambda表示式

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

Lambda表示式學習(二)

consumer 消費型介面 消費物件 void accept t t public class test public static void main string args supplier 供給型介面 生成物件t get public class test public static voi...

Lambda表示式和Lambda表示式樹

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