为了账号安全,请及时绑定邮箱和手机立即绑定

流是否使用流源的特性?

流是否使用流源的特性?

冉冉说 2021-09-26 16:27:08
从这个问题报告 IMMUTABLE 或 CONCURRENT 的拆分器保证永远不会抛出 ConcurrentModificationException。当然,CONCURRENT 在语义上排除了 SIZED,但这对客户端代码没有影响。事实上,这些特性并没有用于 Stream API 中的任何东西,因此,不一致地使用它们永远不会在某处引起注意。这也是为什么每个中间操作都具有清除 CONCURRENT、IMMUTABLE 和 NONNULL 特性的效果的解释:Stream 实现不使用它们,并且表示流状态的内部类不维护它们。如果流不使用来自源的 CHARACTERISTICS 那么流如何并行工作?流是否完全忽略了流源特性?从这个问题 收集器不知道我使用了供应商提供的并发收集,所以特征不是从收集器容器的类型推断出来的流API在什么情况下考虑特性?哪些操作会重置哪些特征?
查看完整描述

1 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

你所要求的是可能的。这些答案中的正确措辞是,目前这些属性被忽略,在未来它们可能会被流实现注入/读取/使用。


同样在您的评论中,您说:


someTreeSet().stream()

         .sorted()

         .... some other operations 

会打电话sorted。这根本不是真的,在这种情况下,不会调用该操作。这是一个不会被忽略并被注入到流实现中的流标志TreeSet。


查看完整回答
反对 回复 2021-09-26
  • 1 回答
  • 0 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信