lambda表達式
什么是Lambda表達式
-
Lambda: In programming languages such as Lisp, Python and Ruby lambda is an operator used to denote anonymous functions or closures, following the usage of lambda calculus.
在編程語言Lisp, Python 和Ruby中恼五,lambda是一種操作符停团,用于指定匿名函數(shù)或者閉包,遵循 λ-calculus
為什么需要需要Lambda表達式
- 在Java中吁恍,我們無法將函數(shù)作為參數(shù)傳遞給一個方法巩搏,也無法聲明返回一個函數(shù)的方法
- 在JavaScript中昨登,函數(shù)參數(shù)是一個函數(shù),返回值是另一個函數(shù)的情況是非常常見的贯底;JavaScript是一門非常典型的函數(shù)式語言
Runnable
new Thread(() -> System.out.println("hello")).start();
遍歷List
List<Integer> list = Arrays.asList(0,1, 2, 3, 4, 5, 6, 7, 8,9);
//list.forEach(Integer i -> System.out.println(i));
list.forEach(i -> System.out.println(i));/
Lambda表達式作用
- Lambda表達式為Java添加了缺失的函數(shù)式編程特性丰辣,使我們能將函數(shù)當做一等公民看待
- 在將函數(shù)作為一等公民的語言中,Lambda表達式的類型是函數(shù)禽捆。
但在Java中笙什,Lambda表達式是對象
,他們必須依附于一類特別的對象類型---函數(shù)式接口(functional interface)