• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

3:46 get() 관련 질문

20.08.20 00:12 작성 조회수 124

1

Optional 관련해서 공부를 좀 해보았는데

테스트는 통과를 하나 이렇게 작성한것이 맞는지 궁금합니다.

예를 들어 save test에서

get()으로 꺼낼때

Member result = repository

.findById(member.getId()).get(); 이라면

Member result = repository

.findById(member.getId()).orElse(member);

로 바꾸어서 사용하면 되나요?

답변 3

·

답변을 작성해보세요.

2

루시님의 프로필

루시

2020.08.20

아래 포스팅도 참고해보시면 좋을 것 같습니다.

Java Optional 바르게 쓰기

https://bit.ly/3aGz3LD

1

안녕하세요. 유용석님

orElse(member) 라고 해버리면 findById(..)에서 회원이 조회되지 않으면 orElse에 넘긴 member가 조회되어 버립니다. 그러면 좀 이상하겠지요?

지금은 테스트를 하는 코드이기 때문에, 단순히 get()를 사용하면 됩니다.

이 경우 다양한 선택지가 있는데요. 위에 루시님이 올려주신 링크를 보시면 도움이 되실거에요^^!

감사합니다. 루시님~

0

ewgregerg c님의 프로필

ewgregerg c

2020.12.29

orElse(null) 이라고 해야되지 않나요?