什麼是lambda表達式,在百科的解釋是
“Lambda 表達式”(lambda expression)是一個匿名函數,Lambda表達式基於數學中的λ演算得名,直接對應於其中的lambda抽象(lambda abstraction),是一個匿名函數,即沒有函數名的函數。Lambda表達式可以表示閉包(注意和數學傳統意義上的不同)。
在java中我理解是匿名類,或者參數表達式(帶有參數的可執行的代碼塊)。
(Type1 param1, Type2 param2, ..., TypeN paramN) -> {
statment1;
statment2;
//.............
return statmentM;
}
1、多參數lambada表達式(java8僞代碼):
java8:(int x,int y)->{ return x+y; }; 或 (int x,int y)->(x+y);或 (x,y)->(x+y);
java8之前:int add(int x,int y){
return x+y;
}
2、單參數lambada表達式
java8: (int x)->{ return x; }; 或 (int x)->(x);或 (x)->(x);或 x->(x);
3、無參數lambada表達式
java8: ()->(..............);或()->.{.............}