Collections.emptyList()
Возвращает пустой неизменяемый список. Рядом — emptyMap() и emptySet().
Доступно с: Java 5
Синтаксис
public static final <T> List<T> emptyList()Возвращаемое значение
List<T>Общий для всей программы пустой список, который нельзя менять.
Примеры
Метод возвращает пустой список вместо null — вызывающему коду не нужны проверки:
List<String> findTags(String post) {
if (post.isBlank()) {
return Collections.emptyList();
}
return List.of(post.split(" "));
}
void main() {
IO.println(findTags(""));
IO.println(findTags("java streams"));
IO.println(findTags("").size());
}Результат:
[]
[java, streams]
0Добавить элемент в такой список нельзя:
void main() {
List<String> tags = Collections.emptyList();
tags.add("java");
}Результат:
Exception in thread "main" java.lang.UnsupportedOperationExceptionПримечания
В современном коде то же самое делает List.of(); разница в том, что emptyList().contains(null) возвращает false, а List.of().contains(null) бросает NullPointerException. Метод не создаёт новый объект при каждом вызове. Если список потом нужно наполнять, создайте new ArrayList<>().
См. также
- List.of() — Создаёт неизменяемый список из перечисленных элементов.
- Collections.unmodifiableList() — Возвращает представление списка, которое нельзя изменить.
- UnsupportedOperationException — Возникает при вызове операции, которую объект не поддерживает, — например, изменение неизменяемой коллекции.
- Optional.empty() — Возвращает пустой `Optional` — «значения нет».
В учебнике
- Вспомогательные методы коллекций — Класс Collections и полезные методы Java: max, min, frequency, reverse, shuffle, nCopies, неизменяемые копии и представления, Arrays.asList.