Проверить объект на null и его коллекцию на пустоту

70. Проверить объект на null и его коллекцию на пустоту

Условие задачи:
Необходимо создать внутри класса Main собственный вложенный класс с одним полем-коллекцией.

В методе main() нужно создать объект этого класса. Если объект равен null или его коллекция пуста, вывести:

hello

Код:

class Main {

    public static void main(String[] args) {
        // код тут
    }
}

Спойлеры к решению

Подсказки
💡 Вложенный класс можно объявить как static.
💡 Коллекцию можно хранить в поле List<String>.
💡 Сначала проверь объект на null.
💡 Для проверки коллекции используй isEmpty().
💡 Оператор || не вычисляет правую часть, если левая равна true.

Решение
class Main {

    static class Container {

        private final List<String> values = new ArrayList<>();

        public List<String> getValues() {
            return values;
        }
    }

    public static void main(String[] args) {
        Container container = new Container();

        if (container == null || container.getValues().isEmpty()) {
            System.out.println("hello");
        }
    }
}

Условие безопасно благодаря короткому замыканию:

container == null || container.getValues().isEmpty()

Если container равен null, правая часть выражения не выполняется, поэтому обращения к объекту не произойдёт.

В данном примере коллекция изначально пуста, поэтому программа выведет:

hello