Java-совет: никогда не возвращайте null вместо коллекций.
Если метод возвращает null, вызывающий код вынужден делать бессмысленные проверки — а это источник багов.
Гораздо лучше всегда возвращать пустую коллекцию:
- Collections.emptyList()
- List.of()
- Set.of()
Тогда вызов становится безопасным, а код — чище.
Пример:
[плохо] (нужно проверять на null):
public List<String> findUsers() {
if (!dataAvailable()) {
return null;
}
return loadUsers();
}
[хорошо] (без лишних проверок):
public List<String> findUsers() {
if (!dataAvailable()) {
return Collections.emptyList();
}
return loadUsers();
}
Теперь вызов можно писать так:
List<String> users = findUsers();
users.forEach(System.out::println); // без null-check
Java библиотека