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

2019-11-29 15:58:30 +08:00
 wuwudeqi
12190 次点击
所在节点    Java
91 条回复
donglan1995
2019-11-29 16:01:35 +08:00
lewinlan
2019-11-29 16:04:52 +08:00
Pandas 常用。
```python
df.apply(lambda x: str(x) if isinstance(x, Datetime) else x)
```
等效于
```python
def the_function(x):
if isinstance(x, Datetime):
return str(x)
return x
```
kkkkkrua
2019-11-29 16:07:14 +08:00
wuwudeqi
2019-11-29 16:09:41 +08:00
那来看得一定要学会了😢
hdbzsgm
2019-11-29 16:09:57 +08:00
自己瞎玩除外, 不推荐在任何场景下使用 lambda
wuwukai007
2019-11-29 16:13:54 +08:00
不是 java 主题吗?
zifangsky
2019-11-29 16:19:51 +08:00
多,经常用
zifangsky
2019-11-29 16:21:08 +08:00
你可以看一下《 Java 8 实战》的相关章节,然后自己再多练习一些比较复杂的写法,然后差不多就可以了
ghouleztt
2019-11-29 16:24:06 +08:00
非常多
kran
2019-11-29 16:26:41 +08:00
把 lambda 想象成一个类的实例,这个类有个 apply 方法,方法体和 lambda 的内容等价。当调用这个 lambda 时,相当于 obj.apply(),这些实例化啦,调用转换啦,都是编译器帮你做了。
是不是好理解一点
mixure
2019-11-29 16:28:39 +08:00
lambda {p %{没看懂 1 楼的代码,x 对象 也是可调用么?} }.call
cco
2019-11-29 16:29:57 +08:00
经常用,多写写 scala。。。
wysnylc
2019-11-29 16:30:30 +08:00
@hdbzsgm #5 ?????????????????????????????????????
lagoon
2019-11-29 16:30:35 +08:00
我也理解不了。不过常见的 IDE 自动填补了。
lambda 也是趋势了吧。不单是 java。
许多新语言,都推荐这么写。
wysnylc
2019-11-29 16:32:07 +08:00
marcong95
2019-11-29 16:38:49 +08:00
前端表示用得不亦乐乎,问题是你哪里理解不了呢?

其实就是个匿名函数,不知道是不是 Java 包装过度产生了一些理解难度,你可以考虑从别的语言角度去理解
wc951
2019-11-29 16:46:52 +08:00
别挣扎了,你不用新框架里大把的在用
@hdbzsgm
aguesuka
2019-11-29 16:48:57 +08:00
lambda 表达式优于匿名类
方法引用优于 lambda 表达式
effective java 是这么说的
SuperMari0
2019-11-29 16:51:01 +08:00
其实用的多了你会发现这东西超级顺手
jdgui
2019-11-29 16:51:39 +08:00
挺多的。。
但是我都是用 IDE 自动补齐的。

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

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

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

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

© 2021 V2EX