小编典典

使用 Java 的 Collections.singletonList()?

all

Collections.singletonList()在 Java
中有什么用?我知道它返回一个包含一个元素的列表。为什么我想要一个单独的方法来做到这一点?不变性如何在这里发挥作用?

这种方法有什么特别有用的用例,而不仅仅是一种方便的方法?


阅读 160

收藏
2022-06-28

共1个答案

小编典典

javadoc是这样说的:

“返回一个只包含指定对象的不可变列表。返回的列表是可序列化的。”

你问:

为什么我想要一个单独的方法来做到这一点?

主要是为了方便......省去您编写一系列语句的时间:

  • 创建一个空列表对象
  • 向其中添加一个元素,并且
  • 用不可变的包装器包装它。

它也可能会更快一些和/或节省一些内存,但这些小的节省不太可能是显着的。(至少可以说,创建大量单例列表的应用程序是不寻常的。)

不变性如何在这里发挥作用?

它是方法规范的一部分;看上面。

这种方法有什么特别有用的用例,而不仅仅是一种方便的方法?

显然,有些用例可以方便地使用该singletonList方法。但我不知道您将如何(客观地)区分普通用例和“特别有用”的用例......

2022-06-28