java - 将 List.of 用于具有单个元素而不是 Collections.singletonList 的不可变列表

标签 java java-9

Java 9 引入了工厂方法以使用 List.of 创建不可变列表。

哪个更适合创建一个元素的不可变列表?

    List<String> immutableList1 = List.of("one");
    List<String> immutableList2 = Collections.singletonList("one");

最佳答案

更喜欢使用工厂方法

List<String> immutableList1 = List.of("one");

因为它们不允许空元素是好处之一,而且 List 接口(interface)中的工厂方法可以方便地添加多个对象并创建不可变列表

They disallow null elements. Attempts to create them with null elements result in NullPointerException.

Collections.singletonList 允许 null

List<String> l = Collections.singletonList(null);
System.out.println(l);   //[null]

关于java - 将 List.of 用于具有单个元素而不是 Collections.singletonList 的不可变列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55418248/

相关文章:

java - 带有背景图像的 JTextArea 的内部填充

java - 使用 keytool 找不到 SunPKCS11 提供程序

java - 无法使用 Java 9 在 Eclipse 上运行 junit 测试

Java 9 的 Maven 编译问题

java - Java 9 中类型推断检查的变化

java - 已安装应用程序的执行次数

java - 在java中找到所有正数的最小值

java - Apache Camel : consume a rest service with jetty

java - 调用方法有问题

java - 使模块 jdk.incubator.httpclient 在运行时可见