Если метод возвращает 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 @javarush