Lambda表达是Java8的新功能。尽管它已经发布了很长时间,但绝对无法研究。现在是时候学习了。
本文主要讨论了lambda的表达,为什么在Java中有Lambda表达以及Lambda表达的应用。
在爪哇面向对象的思想中,我们知道该函数不能单独存在。该函数通常作为某个对象的函数封装在对象中。我们可以传递参数,并且不能通过函数。我们查看了下面的代码,创建了一个线程,然后输出一个句子。
一个小的基础应该知道这是一个匿名的内部类,但是您知道,真正有效的代码输出语句。其余代码基本上没有用。我们可以依次考虑。我们创建一个线程来执行特定任务,即一种特定方法。为什么我们不直接进入方法?
根据这个想法,我们可以编写这样的伪代码。
好吧,现在问题出现了,如何描述这项任务,或者如何在Java中表达它?lambda表达出现。
一个函数可能具有参数,并且该函数必须具有函数主体,因此lambda表达式“(参数1,参数2) - > {function body}”以这种方式定义。
但是,在实际使用过程中,由于具有不同的参数和功能主体,因此有一些变体写作。lambda表达式可以具有零或多个参数,并且逗号在参数之间分开。空括号代表参数。
Lambda表达式的主体可以包含零或多个语句。如果lambda表达式的主体只有一个语句,则可以省略括号{},否则必须将其包含在括号{}中。
好的,我们可以在此处重写上面的线程。
说到这个简单的内存,什么是lambda表达式,一旦在Java中,该函数就不能直接使用。为了能够做到这一点,创建了lambda表达式。您可以将lambda表达式视为功能块,但它是匿名的。
实际上,Lambda的出现是回应功能编程。功能编程是将函数用作编程的主体,并将函数用作代码的基本组件,就像变量一样。官方声明称为第一个阶级公民。
例如,解释功能编程的特征。
有点,没关系。让我们首先了解Lambda表达式的使用。让我们使用最常用的lambda表达式来替换可运行的接口以实现线程任务。什么用?
介绍非常困难,说清单更简单,迭代。
操作列表的每个元素,如下所示,无需使用lambda表达式:
使用lambda表达式:
重点是操作,输入是X,然后是X.IN线程术语和列表迭代的输出操作,为什么他们可以将lambda表达式作为参数接收?让我们看看Foreach方法的参数是什么。
它是一个接口,该接口定义为功能接口。lambda表达式可以替换功能接口。我们将定义一个功能界面以演示。
定义功能接口:
为了总结一开始提出的几个问题,可以将Lambda表达式理解为匿名功能。我们可以通过lambda表达式替换函数接口(例如,可运行的界面)。功能编程是一种编程模式,它定义了lambda的支持。该系列有一些操作。