新特性,Stream流为什么只能使用一次?

小包包007 2019-12-02 04:21:21
网上查的是说"Stream就类比成一个杯子,杯子里的水就像Stream里的数据,你把杯子里的水拿出来了,杯子的水就没有了,Stream也是同样的道理"
然后自己断点查源码,ArrayListSpliterator类下有个index记录索引和linkedOrConsumed状态来让流只能被使用一次,虽然是这么设计,但为什么这么设计,为什么不能重复使用
...全文
695 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qybao 2019-12-02
  • 打赏
  • 举报
回复
这符合流的特点啊,而且它本身的实现也像是一个超级迭代器
类似文件流,尤其是socket流,数据本身就是在网络中,使用过后网络里就不存在数据了,“流”干了
所以想再使用流,那就就重开个流
SZ深呼吸 2019-12-02
  • 打赏
  • 举报
回复
Stream翻译过来是什么,流,流动的水,而不是杯子里静止的水。你用水管里的水冲了马桶还要回收回去再用来洗脸刷牙么

50,527

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧