Lambda表达式

一、lambda表达式语法及应用场景

  1)函数式接口

  lambda表达式前置条件:

  1.必须是函数式接口才可以使用lambda表达式

  函数式接口的特点:

  1.1接口中标注了@FunctionalInterface注解

  1.2接口中只有一个抽象方法,会被编译器自动识别成函数式接口。

  1.3接口中有一个抽象方法,同时包含了Object类的其他抽象方法也会被识别成抽象接口(所有的类都是Object类的子类)。

  2)lambda表达式的三种编写方式:

  expression:单条语句表达式

  statement:语句块

  reference:方法引用

   1.expression单条语句表达式:只能是一个完整的语句

   expression表达式中不需要写return关键字,解释器会自动将表达式的计算结果进行返回。

   (参数)->表达式

   2.statement语句块

    (参数)->{表达式};接口中抽象方法有返回值的话,需要在表达式后加上括号。

   3.reference:方法引用

    如果某个方法在结构上与lambda表达式中对应的方法是匹配的那么就可以直接引用给lambda表达式,其总共包含4种引用类型

    基于实例方法的引用:Object::methodName

    构造方法引用:className::new

    基于参数实例方法引用:className::methodName

    静态方法引用:className::staticMethodName

       

原文地址:https://www.cnblogs.com/UalBlog/p/10815117.html