Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpOpCr 23 of 322 menu
◀ ▶

Создание контейнера из значения в Java

Статический метод Optional.of оборачивает уже известное непустое значение. Если передать null, сразу вылетит NullPointerException - так компилятор и библиотека напоминают: внутри должно лежать реальное значение.

Для переменной, которая сама может быть null, берут Optional.ofNullable: при null получится пустой контейнер, иначе - такой же, как после of:

import java.util.Optional; Optional<String> fromText = Optional.of("draft"); String maybe = null; Optional<String> fromNullable = Optional.ofNullable(maybe); System.out.println(fromText.isPresent()); System.out.println(fromNullable.isEmpty());

Правило на практике простое: литерал или только что проверенное значение - of; поле или аргумент метода с возможным null - ofNullable.

Метод поиска часто заканчивается так:

import java.util.Optional; Optional<String> nick(String raw) { if (raw == null || raw.isBlank()) { return Optional.empty(); } return Optional.of(raw.trim()); }

Напишите метод Optional<Integer> parseQty(String text): для null и пустой строки верните пустой контейнер, иначе Optional.of(Integer.parseInt(text)). Выведите isPresent для "12" и для null.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить