什么是lambda表达式
从数学和计算的角度来看,一个lambda表达式就是一个函数:对于部分 或者全部输入值的组合,它会产生出一个特定的输出。在java语言中Lambda表达式引入了函数式编程的思想。按照java传统术语来解释看,Lambda可以被理解为一种有更复杂语法的匿名方法,可以忽略修饰符,返回类型,在某些情况下参数类型同样可以省略。
语法:
Lambda的基本语法类似于:
(参数) -> 表达式
或者
(参数) -> { 语句; }
例如
1. (int x, int y) -> x + y //输入两数字返回他们的和
2. (x, y) -> x - y //输入两数字返回他们的差
3. () -> 42 //无参数返回42
4. (String s) -> System.out.println(s) //输入字符从将值打印到控制台,什么也不返回
5. x -> 2 * x // 输入一个整数,返回两倍值
6. c -> { int s = c.size(); c.clear(); return s; } //输入一个集合,返回它的大小并清空。
语法注意事项:
(1)参数类型可能是显式声明的(例1,4)或者隐式推断的(例2,5,6)。在一个Lambda表达式中可以混合使用显式或隐式参数
(2)Lambda的body部分可以是一个代码块(由"("包含起来,例6)或者是一个表达式(例1-5)
(3)如果body是一个表达式,那么可以返回一个值(例1,2,3,5)或者什么也不返回(例4)
(4)如果是单一隐式类型的参数,可以忽略括号(例5,6)
(5)在第六个例子中,Lambda可以作用在集合上。同样的,依赖于它所处的上下文,可以作用在某种类型的一个对象上,这种类型同样有size和clear方法且有适当的参数和返回类型
原文链接:http://www.lambdafaq.org/what-is-a-lambda-expression/
分享到:
相关推荐
核心基础-利用lambda表达式简化编程-Python实例源码.zip
什么是Linq表达式什么是Lambda表达式.pdf 什么是Linq表达式什么是Lambda表达式.pdf
主要内容: ● 为何需要lambda,...第2章 Java lambda表达式的基础知识 23 第3章 流与管道介绍 55 第4章 终止流:收集与汇聚 91 第5章 起始流:源与分割迭代器 135 第6章 流的性能 167 第7章 使用默认方法演化API 195
2_Lambda表达式.zip2_Lambda表达式.zip2_Lambda表达式.zip
主要介绍了解决mybatis-plus3.1.1版本使用lambda表达式查询报错的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Lambda入门介绍
Java8发布到现在至少3年了,但是对Lambda表达式不熟悉、看不懂、不会用的现象非常常见。 即使是升级到JDK1.8了,但是很多开发者依然是停留在1.8之前的开发方式,使用的也是非常老旧和过时的API,遇到函数式接口也是...
Stream、Lambda表达式练习.doc
通过多个示例详细演示了.Net中C#语言lambda表达式的基本用法,主要包括三个方面内容: 1.什么是lambda表达式 2.理解lambda表达式 3.使用lambda表达式
Microsoft Visual Studio.Net(VS2010)编写的lambda表达式语法控制台程序。
1、Lambda表达式概述:了解Lambda表达式的定义、语法和变量捕获机制,以及为什么要在Java中引入Lambda表达式来支持函数式编程。 2、函数式接口与Lambda表达式:学习如何使用Lambda表达式与不同类型的函数式接口进行...
Java8的lambda表达式
简单的一些lambda表达式的测试代码,可用来学习简单的一些lambda表达式的测试代码,可用来学习
JAVA 8 Lambda表达式-Lambda Expressions.rar
Java8发布到现在至少3年了,但是对Lambda表达式不熟悉、看不懂、不会用的现象非常常见。 即使是升级到JDK1.8了,但是很多开发者依然是停留在1.8之前的开发方式,使用的也是非常老旧和过时的API,遇到函数式接口也是...
Lambda表达式之集合操作,代码里主要针对java 集合list的操作
用于将将字符串转换为lambda表达式,对于实时获取运算结果或界面筛选条件,很有帮助
Lambda表达式浅析
day07【线程池、Lambda表达式】-笔记.pdf
java8lambda表达式的安卓Studio工程Demo,供初步学习使用