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

此方法是否有任何特殊有用的用例,而不仅仅是便捷的方法?

最佳答案

javadoc说:



你问:



主要是为了方便...省去编写以下语句的麻烦:

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

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



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



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

    10-08 16:03