문제
지금까지 Optional의 값을 꺼낼 때 안전하지 않은 get() 보다는 orElse() 주로 사용해왔다.
책에서 orElseGet(Supplier<? extends T> other)는 orElse 메서드에 대응하는 게으른 버전의 메서드다 라고 간단하게 설명하고 있는데, 한 번도 사용해본적이 없어서 추가적인 학습이 필요다고 느꼈다.
예제를 통해서 orElse와 orElseGet은 어떤 차이가 있는지 이해하고 어떠한 경우에 사용해야할 지 생각해보자.
관련 목차
- [11장] null 대신 Optional 클래스 > 11.3.5 디폴트 액션과 Optional 연결(p.379~380)
참고자료