通过这些示例快速学习Java lambda语法

<p class="indent">对于那些不熟悉函数式编程的人来说,基本的Java lambda语法起初可能有点令人生畏。但是,一旦将lambda表达式分解为它们的组成部分,语法很快就会变得有意义并变得非常自然。


<p class="indent">Java中lambda表达式的目标是实现单个方法。所有Java方法都有一个参数列表和一个正文,因此毫不奇怪这两个元素是Java lambda语法的重要组成部分。此外,Java lambda语法用箭头分隔这两个元素。因此,要学习Java lambda语法,您需要熟悉它的三个组成部分:

  1. 参数列表
  2. 箭头
  3. 方法

功能接口。功能接口是仅定义必须实现的单个方法的接口。以下是我们将用于此示例的功能接口:

}

方法需要传入String参数,lambda为SingleArgument接口提供了一个实现,以及对接口的foo方法的几次调用

SingleArgument sa1 = n -> sa1.foo("Let us all" sa1.foo(" learn lambda Syntax");

Syntax { SingleArgument sa1 = n -> sa1.foo("Let us all" sa1.foo(" learn lambda Syntax" }
@H_502_65@ 

@H_502_65@

代码添加更多的仪式是有帮助的。可以使学习Java lambda语法更容易的一个增强是在方法签名周围放置圆括号并在左侧包含类型声明:

System.out.print(n) ;

内容周围放置花括号,并使用分号结束每个语句

{System.out.print(n); } ;

@H_502_65@多行lambda表达式语法

方法实现具有多个语句,则需要使用分号和大括号。例如,如果我们想要使用正则表达式,在打印出一段给定的文本之前去除所有空格,我们的Java lambda语法将如下所示:

(String n) -> n = n.replaceAll("\\s","" }

多参数lambda函数

函数接口中的方法只有一个参数,但多个参数完全有效,只要lambda表达式中的参数数量功能接口的方法中的数字匹配即可。由于Java是强类型语言,因此对象类型也必须是多态匹配。

功能接口为例:

bar(String s, }

功能接口的高度礼仪式Java lambda语法如下:

MultipleArguments ma1 = (String p, x) -> System.out.printf("%s wants %s slices of pie.\n" };

删除左边的类型声明,我们可以删除右边的花括号和冒号,因为方法实现中只有一条指令。Java lambda语法的更简洁用法如下:

( p,x ) -> System.out.printf ( "%s wants %s slices.\n",x )

相关文章

ArrayList简介:ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增...
一、进程与线程 进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程...
本文为博客园作者所写:&#160;一寸HUI,个人博客地址:https://www.cnblogs.com/zsql/ 简单的一个类...
#############java面向对象详解#############1、面向对象基本概念2、类与对象3、类和对象的定义格式4、...
一、什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域...
Collection接口 Collection接口 Collection接口 Collection是最基本的集合接口,一个Collection代表一组...