java - 使用 Java 的 Collections.singletonList()?

标签 java

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

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

最佳答案

javadoc是这样说的:

"Returns an immutable list containing only the specified object. The returned list is serializable."

你问:

Why would I want to have a separate method to do that?

主要是为了方便……省去你写一系列语句的麻烦:

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

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

How does immutability play a role here?

它是方法规范的一部分;见上文。

Are there any special useful use-cases for this method, rather than just being a convenience method?

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

关于java - 使用 Java 的 Collections.singletonList()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4801794/

相关文章:

java - 如何开始使用JFreeChart?

java - Apache POI : CellType compare does not work as expected

java - JPA @ManyToMany 关联似乎只能以一种方式工作

java - 如何使用Java将Json字符串数组设置为Java对象

java - 容器异常 : The ResourceConfig instance does not contain any root resource classes while deploying my app on Wildfly Server

java - 如何从 updateBaseContextLocale 调用 getSharedPreferences

java - 给定一个 WSDL 文件,创建一个简单的 Java 客户端

java - Android 客户端 -> SSL -> Java 服务器错误 : no cipher suites in common

java - Java 中为 boolean 变量赋值与赋值比较结果之间的区别

java - KeyAgreement.generateSecret(String algorithm) 有什么方法呢?