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 Portal
