gpt4 book ai didi

java - 返回流而不是列表

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:41:43 27 4
gpt4 key购买 nike

<分区>

在 Java 8 中,我越来越多地将 Collection 返回值替换为 Stream

所以我曾经拥有的地方:

public List<Element> getElementList() {
return elements;
}

我现在正在使用:

public Stream<Element> streamElements() {
return elements.stream();
}

我对此的论点是:

  1. 它强制底层列表的不变性
  2. 它隐藏了一个事实,即 有一个基础列表。稍后可以在不更改方法签名的情况下将其更改为集合或其他一些结构。
  3. 它很好地封装了该方法的用户应该对项目而不是列表做某事。
  4. 如果需要,它可以在以后简单地并行化。

事实上,现在,在我的代码中,返回一个 List 或一些其他集合明确地承认用户可能认为该集合是可变的,并且期望能够更改它。

显然,其中一些可以通过不可变集合来实现。

我的问题是:有人能看出这种设计有什么缺点吗?与返回 Stream 相比,不可变集合有什么优势吗?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com