在 Java8 流中,我可以在其中修改/更新对象吗?例如。 List<User> users
:
users.stream().forEach(u -> u.setProperty("value"))
原文由 Tejas Gokhale 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Java8 流中,我可以在其中修改/更新对象吗?例如。 List<User> users
:
users.stream().forEach(u -> u.setProperty("value"))
原文由 Tejas Gokhale 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
是的,您可以修改流中对象的状态,但大多数情况下您应该避免修改流 源 的状态。从流包文档的 非干扰 部分我们可以读到:
所以这没关系
但这在大多数情况下不是
并可能抛出
ConcurrentModificationException
甚至其他意外异常,如 NPE: