Java 9 引入了工厂方法来使用方法创建不可变列表List.of()。
哪个更适合创建一个元素的不可变列表?
List<String> immutableList1 = List.of("one");List<String> immutableList2 = Collections.singletonList("one");更喜欢使用工厂方法
List<String> immutableList1 = List.of("one");
Run Code Online (Sandbox Code Playgroud)
因为它们不允许空元素是好处之一,而且List接口中的工厂方法可以方便地添加多个对象并创建不可变列表
他们不允许空元素。尝试使用 null 元素创建它们会导致 NullPointerException。
哪里Collections.singletonList允许null价值
List<String> l = Collections.singletonList(null);
System.out.println(l); //[null]
Run Code Online (Sandbox Code Playgroud)