Использование List.of для неизменного списка с одним элементом вместо Collections.singletonList - PullRequest
3 голосов
/ 29 марта 2019

Java 9 представляет фабричные методы для создания неизменяемых списков с List.of.

Что больше подходит для создания неизменяемого списка из одного элемента?

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

1 Ответ

2 голосов
/ 29 марта 2019

Предпочитают использовать фабричный метод

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

Поскольку они запрещают нулевые элементы, это одно из преимуществ, а также фабричные методы в интерфейсе List удобны для добавления нескольких объектов и создания неизменяемыхСписок

Они запрещают нулевые элементы.Попытки создать их с нулевыми элементами приводят к NullPointerException.

Где Collections.singletonList позволяет null значение

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