Lanbda表达式演变过程

Lanbda表达式演变过程

不提供代码,希望大家动动手指敲敲代码!

lanbda表达式使用条件

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

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

Lanbda表达式演变过程_第1张图片

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


无参数时

  1. 使用普通类来实现接口
    Lanbda表达式演变过程_第2张图片

  2. 使用静态内部类
    Lanbda表达式演变过程_第3张图片

  3. 使用局部内部类
    Lanbda表达式演变过程_第4张图片

  4. 使用匿名内部类
    Lanbda表达式演变过程_第5张图片

  5. 使用普通lambda简化
    Lanbda表达式演变过程_第6张图片

  6. 使用无花括号lambda简化
    Lanbda表达式演变过程_第7张图片

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


只有一个参数时

  1. 普通lambda简化
    Lanbda表达式演变过程_第8张图片

  2. 无参数类型lambda简化
    Lanbda表达式演变过程_第9张图片

  3. 无小括号lambda简化
    Lanbda表达式演变过程_第10张图片

  4. 无花括号lambda简化
    Lanbda表达式演变过程_第11张图片

注意:

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

多参数时

  1. 普通lambda简化
    Lanbda表达式演变过程_第12张图片

  2. 无花括号lambda简化
    Lanbda表达式演变过程_第13张图片

  3. 无参数类型lambda简化
    Lanbda表达式演变过程_第14张图片

注意:

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

你可能感兴趣的:(java,java)