Sobes.tech
Back to questions
Junior — Middle
66

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

Companies where asked
Тетрасофт

Answer from AI

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.