第一章:Lambda表达式入门概念

要点:将行为像数据一样传递。

一、几种形式

1、没有参数,用()表示

() ->System.out.println("Hello World");

2、有且仅有一个参数,省略参数的括号

e ->System.out.println(e+"Hello World");

3、表达式为一段代码块,使用大括号;只有一行也可以使用大括号

() ->{

  System.out.println("Hello");

  System.out.println("World");

  };

4、多个参数

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

创建一个函数,用来计算两个数字相加的结果,这里add是一个变量

5、指定参数的类型

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

指定参数类型时,需要小括号

注意:Lambda表达式的参数类型由编译器推断得出,类似泛型,(菱形操作符)

二、函数接口

定义:只有一个抽象方法的接口,用来表示Lambda表达式的类型

JDK中最重要的几个函数接口

接口                      参数               返回类型              场景

Predicate<T>         T                    boolean              判断

Consumer<T>       T                      void                  输出一个值

Function<T,R>       T                       R                     获取对象的一个属性

Supplier<T>         None                  T                     工厂方法

BinaryOperator<T>     (T,T)            T                     逻辑非

UnaryOperator<T>    T                   T                     求两数乘积

原文地址:https://www.cnblogs.com/yb38156/p/11072161.html