lambda表示式作為方法引數

2021-07-27 16:01:34 字數 1019 閱讀 4211

一、作為方法引數傳遞lambda表示式或lambda塊

1、是一種常見用途,將lambda表示式或者lambda塊作為引數傳遞給方法。

2、前提:方法的引數是乙個函式式介面引用。

3、將lambda表示式作為引數傳遞給方法,是很方便的技巧,尤其是該lambda表示式只用一次。

4、將lambda塊作為引數傳遞給方法,程式會比較笨拙,所以先實現lambda塊,再傳遞函式式介面引用給方法。

示例一:

1、函式式介面

inte***ce stringfunc

2、以函式式介面為引數的方法

class stringreverse

}3、傳遞lambda表示式

string begin = "this is a process";

string after;

stringreverse sr = new stringreverse();

after = sr.reverse(

str -> str.touppercase(), begin);

system.out.println(after);

其中:str -> str.touppercase()建立了函式式介面的具體實現,並將其引用傳遞給了方法。

4、傳遞lambda塊

after = sr.reverse(

str ->

return s;

}, begin);

system.out.println(after);

將lambda**塊作為方法的引數,傳遞給方法。與3同效。但這樣編寫程式太笨拙,易讀性差。所以

一般常用

:先將lambda塊賦值給乙個函式式介面變數,載再傳遞該變數給方法。

stringfunc sf = str ->

return s;

}; after = sr.reverse(

sf, begin);

system.out.println(after);

c 將lambda表示式作為引數傳遞

include int a 1 typeid a name c 11 提供了對匿名函式的支援,稱為 lambda 函式 也叫 lambda 表示式 lambda 表示式把函式看作物件。lambda 表示式可以像物件一樣使用,比如可以將它們賦給變數和作為引數傳遞,還可以像函式一樣對其求值。lambda...

lambda表示式 lambda表示式

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

Lambda表示式和Lambda表示式樹

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