重拾Java(9)-Lambda表达式
以下内容是我对 Java 8 编程参考官方教程(第9版) 该书的读书笔记 一、简介 Lambda表达式(也称为闭包)是JDK8新增的功能,底层通过 invokedynamic 指令来生成匿名类来实现。Lambda表达式本质上是一个匿名方法,但这个方法不是独立执行的,而是用于实现由函数式接口定义的另一个方法。因此,Lambda表达式会导致生成一个匿名类。 函数式接口是仅包含一个抽象方法的接口。一般来说,这个方法指明了接口的目标用途。因此,函数式接口通常表示单个动作。例如,标准接口 Runnable 是一个函数式接口,因为它自定义了一个方法 run() 。因此,run() 定义了 Runnable 的动作。此外,函数式接口定义了 Lambda 表达式的目标类型。 二、Lambda表达式的基础知识 Lambda 表达式引入了一个新的语法元素和操作符,这个操作符是 -> 。它将 Lambda 表达式分为两个部分,左侧指定了 Lambda 表达式表达式需要的所有参数(如果不需要参数则使用空的参数列表),右侧指定了 Lambda 体,即 Lambda 表达式要执行的动作。 Java 定义了两...