美文网首页
Effective Java - 谨慎使用Stream

Effective Java - 谨慎使用Stream

作者: DZQANN | 来源:发表于2022-07-14 22:50 被阅读0次

谨慎使用Stream

  1. 适当地使用streams API可以让程序更简洁, 但是使用不当(过度使用)可能会降低可读性和可维护性.
  2. 关于stream pipeline的可读性:
    • 缺少明确的类型时, lambda参数的良好命名是必要的.
    • 使用辅助方法, 提取逻辑并命名.
  3. Stream在处理char的时候会转成int,如果在Stream中处理char要强转
  4. 相比于for循环,stream有两个比较大的限制
    • 代码块中的内容访问外界都是final
    • 只能用return实现continue的效果,并不能真的停止循环
  5. stream擅长的事情:
    • 统一处理元素序列
    • 过滤
    • 联合元素的运算(加, 连接, 算最小值等)
    • 将元素序列累积到集合中, 或分组
    • 查询

思考

  1. Stream相比于for循环最大的优势就是更加的优雅,使用链式操作可以使代码更加整齐
  2. 使用Stream要尤其注意api的很多坑,比如toMap的key和value都不能是null,不然会抛NPE
  3. 使用Strean的一个问题就是不能回头访问之前的结果,不过反过来这也可以促使我们去检讨是不是一定要依赖之前的计算结果。如果确实依赖,没必要用书里说的那些例子,直接使用for循环。不然很有可能造成代码可读性很差

相关文章

网友评论

      本文标题:Effective Java - 谨慎使用Stream

      本文链接:https://www.haomeiwen.com/subject/rpncirtx.html