使用番石榴不可变集合作为方法参数和或返回类型

使用番石榴不可变集合作为方法参数和或返回类型,第1张

使用番石榴不可变集合作为方法参数和/或返回类型

通常,明智的做法是不要在声明的返回类型中提交特定的实现,但是我们将不可变类型视为例外。有几种理由声明返回类型为

Immutable*

  • 他们记录您返回的是快照,而不是实时视图。
  • 他们记录了调用者无法更改结果。
  • 他们记录了插入顺序被保留(在您的用例中可能重要,也可能不重要)。
  • 他们记录了该集合将不包含
    null
  • 有人可能想要
    asList()
    or
    reverse()
    方法。
  • 如果某人
    copyOf()
    希望分配给某个
    Immutable*
    字段,则可以节省他的电话。(但是请注意,如果他确实包含了
    copyOf()
    ,即使您未声明返回类型,它也会使大多数不可变的输入短路。)

基本上,我只是从https://github.com/google/guava/wiki/TenThingsaboutImmutableCollections爬来爬去,您可能想要完整检查一下。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5506413.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存