새소식

반응형
카테고리 없음

[Java] Java Optional

  • -
반응형

Spring Data JPA를 사용하면 select의 리턴값으로 Optional <>을 준다.

그러다 보니 Optional을 사용할 기회가 생기게 되었고, 사용하다 보니 알아두면 좋은 메서드들이 있어서 

정리하면서 추후에도 유용하게 쓸 수 있도록 학습해보자.

 

Optional.ifPresentOrElse()

        Optional<Token> token = tokenService.selectToken(dto.id());
        if (token.isEmpty()) {
            tokenService.insertToken(dto);
        } else {
            tokenService.updateToken(dto, token.get());
        }

 

위의 같이 결과가 존재하는 경우 존재하지 않는 경우 이렇게 나눠져 로직을 진행하는 경우 ifPresentOrElse에 파라미터를 람다로 줘서 한 번에 해결할 수 있다. 

tokenService.selectToken(dto.idNo().ifPresentOrElse(
            token -> tokenService.updateToken(dto, token),
            () -> tokenService.insertToken(dto)
);

 

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.