Effective Java - 谨慎使用Stream
作者:
DZQANN | 来源:发表于
2022-07-14 22:50 被阅读0次
谨慎使用Stream
- 适当地使用streams API可以让程序更简洁, 但是使用不当(过度使用)可能会降低可读性和可维护性.
- 关于stream pipeline的可读性:
- 缺少明确的类型时, lambda参数的良好命名是必要的.
- 使用辅助方法, 提取逻辑并命名.
-
Stream
在处理char
的时候会转成int
,如果在Stream
中处理char
要强转
- 相比于
for
循环,stream
有两个比较大的限制
- 代码块中的内容访问外界都是
final
的
- 只能用
return
实现continue
的效果,并不能真的停止循环
-
stream
擅长的事情:
- 统一处理元素序列
- 过滤
- 联合元素的运算(加, 连接, 算最小值等)
- 将元素序列累积到集合中, 或分组
- 查询
思考
-
Stream
相比于for
循环最大的优势就是更加的优雅,使用链式操作可以使代码更加整齐
- 使用
Stream
要尤其注意api的很多坑,比如toMap
的key和value都不能是null,不然会抛NPE
- 使用
Strean
的一个问题就是不能回头访问之前的结果,不过反过来这也可以促使我们去检讨是不是一定要依赖之前的计算结果。如果确实依赖,没必要用书里说的那些例子,直接使用for循环。不然很有可能造成代码可读性很差
本文标题:Effective Java - 谨慎使用Stream
本文链接:https://www.haomeiwen.com/subject/rpncirtx.html
网友评论