002 lambda表达式

Posted trekxu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了002 lambda表达式相关的知识,希望对你有一定的参考价值。

一 . 概述

  在前面我们了解了lambda没有什么特别的地方,它本身就是一个匿名内部类的表现形式而已.

  本次,我们来讨论一下lambda的语法结构.


 

二 .语法结构

  对于一个lambda表达式,它总是拥有这样的一个结构支撑.

  () ->{}

在上面的结构之中,我们可以按照 ‘->‘将上述的结构进行划分,前面的我们称为参数列表,后面的我们称为代码体.

参数列表 : 一般的结构就是 参数类型 参数变量. 在lmbda之中,一般情况下,我们都可以省略参数类型这一部分,这依靠的就是java8之中更加强大的类型推导功能.

代码体 : 这个我们就认为是之前的方法体就可以了,其实和方法体本身没有区别的.

  当参数的个数不同和方法的返回值的不同的情况下,我们的lambda结构可以进行更加简单的书写.

这个在这里我们不去说,因为我们首先需要保证的就是我们的lambda表达式一定需要具有一定的表意性.


 

三 .lambda表达式的引申

  在前面我们说到了lambda表达式的本质就是一个函数接口的实现.

  现在我们从另外一个角度上分析lambda表达式的另外一层含义,一个lambda表达式本质上就是一个参数,这个参数我们称为行为参数.

因为我们可以将lambda表达式当做一个参数传入到方法之中,实现了不同逻辑,这很像我们之前说到的策略设计模式.

以上是关于002 lambda表达式的主要内容,如果未能解决你的问题,请参考以下文章

Lambda表达式中的表达式lambda和语句lambda区别

lambda表达式来自哪里?

表达式 lambda 和语句 lambda 的区别

Lambda简介

Lambda 表达式的演示样例-来源(MSDN)

线程池Lambda表达式