Lambda表示式(簡單解析)

2021-10-12 10:12:33 字數 1758 閱讀 6387

lambda表示式其實是jdk8的乙個新特性。所謂lambda表示式指的是應用在單一抽象方法介面環境下的一種簡化定義形式,可以用於解決匿名內部類中定義複雜的問題。

我們先來看一段**,如下:

inte***ce

customer

public

class

test

public

static

void

main

(string[

] args)})

;}}

原來我們要使用customer這個介面裡的方法,通常可以使用匿名內部類實現它,可這樣**就會顯得很冗餘,因此jdk8就引入了lambda來簡化它。

上面的**使用lambda表示式寫的形式如下:

@functionalinte***ce

inte***ce

customer

public

class

test

}

我們可以看到,**一下子就不是那麼冗餘了,所以當我們想要使用匿名內部類的時候第一時間可以想到使用lambda表示式簡化。

(引數)

->

例:

// 1. 不需要引數,返回值為 5  ()

->

5// 2. 接收乙個引數(數字型別),返回其2倍的值

x ->

2* x

// 3. 接受2個引數(數字),並返回他們的差值

(x, y)

-> x – y

// 4. 接收2個int型整數,返回他們的和

(int x,

int y)

-> x + y

// 5. 接受乙個 string 物件,並在控制台列印,不返回任何值(看起來像是返回void)

(string s)

-> system.out.

print

(s)

實際使用:

@functionalinte***ce

inte***ce

user

@functionalinte***ce

inte***ce

price

public

class

test

; system.out.

println

(user.

add(1,

2));

price price =

(int..

.nums)

->

return sum;};

system.out.

println

(price.

add(10,

20,30,

40));

}}

注意:關於@functionalinte***ce註解的使用

由上面的操作,我們已經可以隱約明白lambda表示式其實是要求在介面上進行的一種操作,且該介面只允許定義乙個抽象方法,所以在開發中為了快速辨別出哪乙個介面是lambda表示式的使用介面,我們可以在介面上使用@functionalinte***ce註解來宣告,表示該介面為函式式介面,裡面只允許定義乙個抽象方法

lambda表示式 lambda表示式

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

lambda表示式簡單介紹

參考 捕獲外部變數列表 函式引數列表 mutable 或 exception 宣告 返回值型別 各項含義 capture list 捕獲外部變數列表 params list 形參列表 mutable指示符 用來說用是否可以修改捕獲的變數 exception 異常設定 return type 返回型別...

Lambda表示式和Lambda表示式樹

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