函数式编程 Lambda表达式

时间:2021-07-21 19:12:08

Lambda 表达式的不同形式

1。 不包含参数

Runnable runnable = ()-> System.out.println("Helloworld!");
  1. 只包含一个参数
ActionListener actionListener = event -> System.out.println("Click!");
  1. 主体可以是一段代码
Runnable runnable1 = () -> {
System.out.println("first line");
System.out.println("second line");
};
  1. 可以包含多个参数
BinaryOperator<Long> add = (x, y) -> x + y;

5.可以显示声明数据类型

BinaryOperator<Long> addExplicit = (Long x, Long y) -> x + y;

函数接口

函数接口是只有一个抽象方法接口,用作Lambda 表达式的类型

Java中重要的函数接口

接口 参数 返回类型 示例
Predicate<T> T boolean 这张唱片已经发行了吗
Consumer<T> T void 输出一个值
Function<T,R> T R 获得Artist 对象的名字
Supplier<T> None T 工厂方法
UnaryOperator<T> T T 逻辑非
BinaryOperator<T> (T,T) T 求两个数的乘积

总结

  • Lambda 表达式是一个匿名方法,将行为像数据一样进行传递。
  • Lambda表达式的常见结构:BinaryOperator add = (x, y) → x + y。
  • 函数接口指仅具有单个抽象方法的接口,用来表示 Lambda表达式的类型。