Skip to content

Optional의 orElse() vs orElseGet() #26

@ahah525

Description

@ahah525

문제

지금까지 Optional의 값을 꺼낼 때 안전하지 않은 get() 보다는 orElse() 주로 사용해왔다.

책에서 orElseGet(Supplier<? extends T> other)는 orElse 메서드에 대응하는 게으른 버전의 메서드다 라고 간단하게 설명하고 있는데, 한 번도 사용해본적이 없어서 추가적인 학습이 필요다고 느꼈다.

예제를 통해서 orElse와 orElseGet은 어떤 차이가 있는지 이해하고 어떠한 경우에 사용해야할 지 생각해보자.

관련 목차

  • [11장] null 대신 Optional 클래스 > 11.3.5 디폴트 액션과 Optional 연결(p.379~380)

참고자료

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions