Java中的Lambda表达式
含义
lambda表达式 也可称为闭包 在Java8发布
Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。
使用 Lambda 表达式可以使代码变的更加简洁紧凑。
特征
可选类型声明 : 不需要声明参数类型,编译器可以统一识别参数值。
可选的参数圆括号 : 一个参数无需定义圆括号,但多个参数需要定义圆括号。
可选的大括号 : 如果主体只包含了一个语句,就不需要使用大括号。
可选的返回关键字 : 如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定明表达式返回了一个数值。
代码
接口
接口必须是函数式接口 也就是只有一个方法
interface Ren {
void name(String name);
}
lambda表达式调用
Ren ren = (String name) -> {
System.out.println("我的名字是: " + name);
};
简化参数类型
编译器可以统一识别参数值
ren = (name) -> {
System.out.println("我的名字是111: " + name);
};
简化小括号
只传入一个参数 可以简化小括号
ren = name -> {
System.out.println("我的名字是222: " + name);
};
简化花括号
要求是代码只有一行 多行还是使用代码块
ren = name -> System.out.println("我的名字是333: " + name);
ren.name()
带返回值 和 两个参数
interface Fruit {
int add(int a, int b);
}
public class ThreadTest05 {
public static void main(String[] args) {
Fruit fruit = (a, b) -> a + b;
System.out.println(fruit.add(1, 2));
}
}