어떤 객체를 사용하다보면
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 |