Метод orElseGet() в Optional предоставляет механизм подстраховки при работе с null значениями. Этот метод гарантирует, что значение по умолчанию будет предоставлено, если Optional не содержит никакого значения.
Когда ты вызываешь orElseGet() на объекте Optional, он выполняет функцию-поставщик для генерации подставного значения только если Optional пуст. Если Optional содержит значение, не равное null, то возвращается это значение.
Supplier в качестве параметраOptional<String> optional = Optional.empty();
String result = optional.orElseGet(() -> "default value");
// Результат: "default value"
Другие механизмы подстраховки в Optional включают:
orElse() - возвращает фиксированное значение по умолчанию безусловноorElseThrow() - выбрасывает исключение, если значение отсутствуетifPresentOrElse() - выполняет разные действия в зависимости от наличия значенияorElseGet() предпочтителен перед orElse(), когда вычисление значения по умолчанию обходится дорого, так как функция-поставщик выполняется только когда Optional пуст.
Метод orElseGet() принимает функциональный интерфейс Supplier, который вычисляется лениво только когда Optional пуст.
Новый — ещё не проверен сообществом
Вы