Lanbda表达式演变过程

Lanbda表达式演变过程

lanbda表达式使用条件

使用lamda表达式前提:是函数式接口

函数式接口:任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。

Lanbda表达式演变过程

对于函数式接口,我们可以通过lambda表达式来创建该接口的对象。


无参数时

  1. 使用普通类来实现接口
    Lanbda表达式演变过程

  2. 使用静态内部类
    Lanbda表达式演变过程

  3. 使用局部内部类
    Lanbda表达式演变过程

  4. 使用匿名内部类
    Lanbda表达式演变过程

  5. 使用普通lambda简化
    Lanbda表达式演变过程

  6. 使用无花括号lambda简化
    Lanbda表达式演变过程

注意:
- 花括号只能在只有一条语句时才可以省略
- 参数小括号不能省略


只有一个参数时

  1. 普通lambda简化
    Lanbda表达式演变过程

  2. 无参数类型lambda简化
    Lanbda表达式演变过程

  3. 无小括号lambda简化
    Lanbda表达式演变过程

  4. 无花括号lambda简化
    Lanbda表达式演变过程

注意:

  • 花括号只能在只有一条语句时才可以省略

多参数时

  1. 普通lambda简化
    Lanbda表达式演变过程

  2. 无花括号lambda简化
    Lanbda表达式演变过程

  3. 无参数类型lambda简化
    Lanbda表达式演变过程

注意:

  • 多参数不能省略小括号(参数小括号)
  • 花括号只能在只有一条语句时才可以省略