在一般数学计算中,lambda表达式就是函数:根据部分或所有输入的组合,返回相应的值。lambda表达式作为函数式思想被引入到了Java中。熟悉Java语法的朋友可以把lambda表达式看做是可以接受参数,返回类型,不可修改的,语法简洁的匿名方法。
语法:
(parameters) -> expression
或者
(parameters) -> { statements; }
例子:
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 // 接受数字,并返回该值的2倍
6. c -> { int s = c.size(); c.clear(); return s; } // 接受一个集合。清空该集合,
返回该集合未清空前的长度
语法注意点:
-
可以明确的指出参数类型(比如,1,4)也可以不明确指出(2,5,6).在单个lambda表达式中,
无论你明不明确指出参数类型都是没有关系的。 -
lambda表达式的表达式体可以是个语句块(被大括号包围,例如:6)或者是个表达式(例如:1-5)。
语句块式的表达式体能返回值或者不返回。使用或省略return关键字的规则和普通的方法体相同。
- 如果表达式体是个表达式,那么它也可以返回值(例如:1,2,3,5),也可以不返回(例如:4)
- 如果表达式只有一个参数那么括号可以省略(例如:5,6)
-
例子6后的注释说此lambda表达式需要一个集合作为参数。而实际上,根据上下文环境的不同,
此表达式不限于集合参数,只要参数包含size方法和clear方法,并且接受合适的参数且返回合适的类型即可。
相关推荐
什么是Linq表达式什么是Lambda表达式.pdf 什么是Linq表达式什么是Lambda表达式.pdf
● lambda表达式语法 ● 流与管道的基本操作 ● 使用收集器与汇聚来终止管道 ● 创建流 ● 分割迭代器、fork/join框架与异常 ● 使用微基准测试检查流的性能 ● 使用默认方法演化API 目录 第1章 走进新生代...
2_Lambda表达式.zip2_Lambda表达式.zip2_Lambda表达式.zip
Stream、Lambda表达式练习.doc
Java8发布到现在至少3年了,但是对Lambda表达式不熟悉、看不懂、不会用的现象非常常见。 即使是升级到JDK1.8了,但是很多开发者依然是停留在1.8之前的开发方式,使用的也是非常老旧和过时的API,遇到函数式接口也是...
通过多个示例详细演示了.Net中C#语言lambda表达式的基本用法,主要包括三个方面内容: 1.什么是lambda表达式 2.理解lambda表达式 3.使用lambda表达式
主要介绍了解决mybatis-plus3.1.1版本使用lambda表达式查询报错的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Microsoft Visual Studio.Net(VS2010)编写的lambda表达式语法控制台程序。
1、Lambda表达式概述:了解Lambda表达式的定义、语法和变量捕获机制,以及为什么要在Java中引入Lambda表达式来支持函数式编程。 2、函数式接口与Lambda表达式:学习如何使用Lambda表达式与不同类型的函数式接口进行...
Java8发布到现在至少3年了,但是对Lambda表达式不熟悉、看不懂、不会用的现象非常常见。 即使是升级到JDK1.8了,但是很多开发者依然是停留在1.8之前的开发方式,使用的也是非常老旧和过时的API,遇到函数式接口也是...
Java8的lambda表达式
用于将将字符串转换为lambda表达式,对于实时获取运算结果或界面筛选条件,很有帮助
简单的一些lambda表达式的测试代码,可用来学习简单的一些lambda表达式的测试代码,可用来学习
Lambda表达式之集合操作,代码里主要针对java 集合list的操作
java lambda表达式,lambda 表达式基本上表达了函数式接口的实例(具有单一抽象方法的接口称为函数式接口。一个例子是 java.lang.Runnable)。lambda 表达式实现了唯一的抽象函数,因此实现了函数式接口 lambda ...
Lambda表达式浅析
java8lambda表达式的安卓Studio工程Demo,供初步学习使用
lambda表达式和递归算法
初学者lambda表达式学习demo
精通lambda表达式:Java多核编程,使用lambda表达式和流的最佳实践