[FAQ]什么是lambda表达式
来源:互联网 发布:淘宝卖露华浓的 编辑:程序博客网 时间:2024/06/09 13:58
在一般数学计算中,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方法,并且接受合适的参数且返回合适的类型即可。
- [FAQ]什么是lambda表达式
- [FAQ]为什么引入lambda表达式
- Lambda FAQ_1.什么是Lambda表达式?
- 什么是Lambda表达式?
- C++11 FAQ中文版:Lambda表达式
- C++11 FAQ中文版:Lambda表达式
- lambda表达式的实质——什么是lambda表达式,为什么要使用lambda表达式
- 什么是C# Lambda表达式?形如:p=>p.abc
- Lambda Expressions(Lambda表达式)
- Lambda表达式
- Lambda表达式
- Lambda 表达式
- Lambda表达式
- lambda表达式
- lambda表达式
- Lambda表达式
- Lambda表达式
- Lambda表达式
- 10 个你必须掌握的超酷 VI 命令技巧
- 结构体
- VS2012下基于Glut 绘制立方体示例程序:
- 如何合理设置Linux的swap分区
- Objective-c中的posing
- [FAQ]什么是lambda表达式
- web.xml中servlet-mapping的url-pattern的配置
- Linux中查看进程的多线程
- 省市联动
- Git Stash用法
- git根据commit生成patch
- 卢松松:【站长图卦】我们是不是太顺了?
- 将Eclipse中文注释字体变大方法
- SQL查看死锁+清理死锁