形式一:
这种写法没有参数,用一对圆括号表示。
Runnable noArguments = () -> System.out.println("Hello World");
形式二:
这种写法只有1个参数,可以省略括号,下面的 event 相当于 (event)。
ActionListener oneArgument = event -> System.out.println("点击了按钮");
// 等同于 ↓
//ActionListener oneArgument = (event) -> System.out.println("点击了按钮");
形式三:
这种写法表示有多段代码块,适用于复杂状况。
Runnable multiStatement = () -> {
System.out.print("Hello");
System.out.println(" World");
};
形式四:
这种写法表示包含两个参数的方法。
注意:**下面的 functionAdd 并不是将两个数字相加的结果,而是创建了一个函数,用来计算两个数字相加的结果。**变量 functionAdd 的类型并不是两个数字相加的和,而是将两个数字相加的那行代码。
// 创建一个函数
BinaryOperator<Long> functionAdd = (x, y) -> x + y;
// 应用函数,给函数传值,得到计算结果
Long result = functionAdd.apply(1L, 2L);
形式五:
这种写法和形式四的不同之处在于,多了对参数类型的显示声明。
// 创建一个函数
BinaryOperator<Long> function = (Long x, Long y) -> x + y;
// 应用函数,给函数传值,得到计算结果
Long result = function.apply(1L, 2L);
本文原文地址:https://blog.youkuaiyun.com/zebe1989/article/details/82692496
本文深入探讨了Lambda表达式的五种常见形式,包括无参数、单参数、多语句、双参数及显示类型声明的Lambda表达式,展示了其在Java中的灵活运用。
203

被折叠的 条评论
为什么被折叠?



