본문 바로가기

제안&정리

[JAVA] Optional map

어떤 객체를 사용하다보면

    1. null 이 아닌 경우에 다른 객체로 변환

    2. null 인 경우에는 기본값을 사용

하고 싶을 때가 있습니다.

AS IS

가장 기본적인 방법인 if문이나 3항 연산자로 처리하면 아마도 아래와 같은 코드일텐데요.

var foo = bar != null ? Foo.from(bar) : null;

이런 처리가 많아지면 가독성이 나빠집니다..!

 

Optional로 처리해볼까 해서 Optional의 ifPresent를 사용해도 크게 달라지지 않습니다.

var foo = optinalBar.ifPresent() ? Foo.from(optionalBar.get()): null;

TO BE

해당 요구사항은 아래와 같이 Optional map 을 사용하면 가독성 좋게 변환할 수 있습니다.

var foo = optionalBar.map(Foo::from).orElse(null);

 

'제안&정리' 카테고리의 다른 글

[BE] Performance, Stress, Load Test  (0) 2023.02.12
[AWS] EB 설정 팁  (0) 2023.01.30
[JAVA] enum find O(n) -> O(1)  (0) 2022.12.26
[Git] Conventional Commit  (0) 2022.11.28
[Circuit Breaker] API 품질과 Timeout, Slow Call  (0) 2022.10.24