Sobes.tech
Назад к вопросам
Junior — Middle
65

Как работает метод map в классе Optional и для чего он используется?

Компании, где спрашивали
Тетрасофт

Ответ от нейросети

sobes.tech AI

Метод map в классе Optional используется для преобразования значения, если оно присутствует, без необходимости явно проверять наличие значения.

Если Optional содержит значение, map применяет переданную функцию к этому значению и возвращает новый Optional с результатом. Если значения нет (то есть Optional.empty()), возвращается пустой Optional.

Это позволяет писать более чистый и безопасный код, избегая NullPointerException.

Пример:

Optional<String> optional = Optional.of("123");
Optional<Integer> mapped = optional.map(Integer::parseInt);
mapped.ifPresent(System.out::println); // Выведет 123

Optional<String> empty = Optional.empty();
Optional<Integer> mappedEmpty = empty.map(Integer::parseInt);
System.out.println(mappedEmpty.isPresent()); // false

Таким образом, map помогает безопасно преобразовывать содержимое Optional.