lambda 表达式大家在工作中用的多么,小白看了好多遍也理解不住

2019-11-29 15:58:30 +08:00
 wuwudeqi
12212 次点击
所在节点    Java
91 条回复
aragakiyuii
2019-11-29 17:05:46 +08:00
不用 lambda 的话要死了
http://objcoding.com/2019/03/04/lambda/
avalon0624
2019-11-29 17:06:47 +08:00
常用,举个例子 ,创建一个临时 Timer 来重试失败的业务
tgich
2019-11-29 17:12:48 +08:00
用的太多了,基本每次要在集合里搞花样都得用,不用就活不了了
rockyou12
2019-11-29 17:15:25 +08:00
天天都在大量使用……特别是各种处理、过滤数据……
imycc
2019-11-29 17:16:28 +08:00
python 经常用。其他语言的不了解。

如果 lambda 的逻辑太复杂,就写成局部的函数或者类方法了
nulIptr
2019-11-29 17:16:40 +08:00
c++ c# ts 系程序员震惊了,没有 lambda 也能写代码? java 是最近才有的吗?
ipwx
2019-11-29 17:17:02 +08:00
楼主是不是不能理解 “闭包” ?其他地方 Lambda 表达式和一个普通函数有啥区别。。。

闭包的话,楼主你就假想一下写了个匿名类,成员变量是所有当前作用域能看到的变量,然后初始化就是把变量给了它一份那种。。。
passerbytiny
2019-11-29 17:46:28 +08:00
lambda 表达式没那么难,就这一点:他是一个函数,完整书写形式是 (arg1, arg2, arg3, ....) -> {//函数体},在一些特定场合,有一些简写形式。

对于 Java 中的 lambda 表达式,再加几点:
一个 lambda,对应一个匿名内部类;
这个匿名内部类实现的接口,必须是函数式接口——只有一个非默认方法的接口,而 lambda 表达式所表示的函数,就是用来实现这个方法的;
Java 有一些特定的简写形式。

完了,剩下的实践中积累经验就行。
Raymon111111
2019-11-29 17:49:31 +08:00
多用就顺手
wdv2ly
2019-11-29 17:56:19 +08:00
csharp 表示没 lambda 的代码就没有灵魂
ala2008
2019-11-29 17:57:55 +08:00
经常用,很方便,特别是数据处理
lux182
2019-11-29 18:22:53 +08:00
lambda
是什么
lambda 是一个代码块,但是是一个极简的代码块,它表示一个函数,实现一种功能。相比函数,lambda 省略了函数名、参数类型、返回类型,甚至是花括号。

为什么用 lambda
因为 lambda 函数比较简洁,另外 lambda 可以作为参数,直接传递给函数

怎么用 lambda
Python 中定义,

m = lambda x:x*2
print m(2)
可以看出 lambda 赋值给变量(函数名),并通过函数名加参数调用

java 中的 lambda
Java 中的 lambda 是一种不完全的实现。在 Java 8 里面,lambda 的类型(申明的变量)都是一个函数式接口(被注解为 @FunctionInterface 的接口),其本身也就是接口的实现。
hannhuan
2019-11-29 18:32:55 +08:00
⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄两个月前刚工作时看代码也是一头雾水。然后经历了太多
```
if(x != cond1) {bla;}
else {bla}
```
后就爱上了 lambda……用着真的好爽啊!
leilinJune
2019-11-29 18:39:00 +08:00
@hannhuan 这个用 lambda 后是怎样的
luckylo
2019-11-29 18:41:47 +08:00
spring5.0 最低要求都 8 了。
catqi
2019-11-29 18:45:16 +08:00
csharp 07 年 3.0 发布的时候就有 lambda 了
araaaa
2019-11-29 18:50:38 +08:00
去写 stream function reactive,写多了自然就会
EricFuture
2019-11-29 18:54:39 +08:00
必须呀,可以用少写很多代码,就是要花一段时间熟悉
TaAmSf
2019-11-29 20:34:04 +08:00
Qt 中使用匿名函数很爽的。
wleexi
2019-11-29 20:35:14 +08:00
多的。已经是趋势了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/624350

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX