방금 옵션 값이 존재할 때 이 값을 우아하게 소비하는 방법을 알아봤다. 옵션 값을 이용하는 다른 전략은 값이 없을 때 대체 값을 생산하는 방법이다. 보통은 일치하는 요소가 없을 때 사용할 디폴트(아마도 빈 문자열)가 있기 마련이다.
String result = optionalString.orElse("");
// 감싸고 있는 문자열 또는 문자열이 없는 경우""
다음과 같이 디폴트를 계산하는 코드를 호출할 수도 있다.
String result
= optionalString.orElseGet(() -> System.getProperty("user.dir"));
// 필요할 때만 함수가 호출된다.
또는 다음과 같이 값이 없는 경우 또 다른 예외를 던지고 싶을 수도 있다.
String result = optionalString.orElseThrow(NoSuchElementException::new);
// 예외 객체를 돌려주는 메서드를 제공한다.