Lambda 表达式
说实话,一开始看到这个单词的时候,很蒙,怎么读来读去都好奇怪的,后来,你懂的,当然是去搜了 哈哈哈哈,原来它就是那个 λ
它
允许函数作为参数 传递
,← 敲黑板!,解决了一个函数是否可以独立存在的问题;
也可称为闭包,它是推动 Java 8 发布的最重要新特性;
是Java向函数式编程的一种靠拢,(函数式编程,可以将方法连起来,避免多行代码不易读) =>Java8 支持函数式编程
语法格式
(parameters) -> expression
或
(parameters) -> { statements; }
有函数式接口时才可以使用
四大核心函数函数型接口 :
- Consumer:消费型接口
void accept(T t); - Supplier :供给型接口
T get(); - Function:函数型接口
R apply(T t); - Predicate :断言型接口
boolean test(T t);
栗子
青铜:
1. 不需要参数,返回值为 9 //如果形参列表为空,只需保留();
() -> 9
2. 接收乘法 (数字类型) //如果形参只有1个,()可以省略,只需要参数的名称即可;
x -> 3 * x
3. 接收减法 (数字类型)
(x, y) -> x – y
4. 接收2个 某 型, 做运算
(int x, int y) -> x + y
5. 接收一个 string 对象,并打印,不返回任何值(看起来像是返回void)
(String s) -> System.out.print(s)
具体:
package test;
public class lab001 {
public static void main(String[] args)