A.lambda表达式
Lambda表达式是Java 8引入的一项重要特性,它使得在Java中可以更简洁地表示匿名函数(函数式接口的实现)的能力。允许你以更简单的方式定义行为(方法)并将其传递给其他方法。
基本语法如下:
如果说有多个参数的话,那么就是这样:
lambda表达式由三部分组成:
- 参数列表:在小括号中指定参数,可以有零个或多个参数。
- 箭头符号
->
:箭头符号将参数列表与Lambda表达式的主体分开。 - Lambda表达式的主体:可以是一个表达式,也可以是一个语句块。
例题:
Lambda表达式表示一个带参数的匿名函数,用于求平方:
Lambda表达式表示一个带两个参数的匿名函数,用于计算它们的和
B.使用lambda表达式实现函数氏接口
输出结果
例题2
输出结果
例题14.3
结果
C.lambda表达式调用外部变量
D.lambda表达式与异常处理
E.方法的引用
F.引用静态方法
G,引用成员方法
Lambda表达式也可以用于引用成员方法,包括实例方法和静态方法。这种引用允许你在Lambda表达式中调用已存在的方法,而无需提供方法的完整定义。
引用成员方法的语法如下:
对象名:成员方法名
与引用静态方法语法不同,这里操作符左侧的必须是一个对象名,而不是类名。
例题14.8
输出结果
引用带泛型的方法
引用构造方法
引用无参构造方法
因为构造方法与类名相同,如果操作符左右都写类名,会让操作符误以为是在引用与类名相同的静态方法,这样会导致程序出现BUG,所有引用构造方法的语法使用了new关键字。操作符右侧的写new关键字,表示引用构造方法。
例题14.10
输出结果