인프런 커뮤니티 질문&답변

ewgregerg c님의 프로필 이미지
ewgregerg c

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

회원 도메인과 리포지토리 만들기

findById 메소드에서 Optional 처리가 마무리가 안된것 아닌가요??

작성

·

252

0

id로 찾은값이 null 인 경우를 대비해서 Optional로 반환받았는데.. 여기서 마무리하면 null 처리가 제대로 안된거 아닌가요??

아래처럼 orElse(...) 까지 해줘야 null 처리가 마무리 되는거 아닌가요?? Optional 을 처음 접하는 초보입장에서 질문드립니다 ㅠ

Optional.ofNullable(store.get(id)).orElse(...)

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. ewgregerg c 님

Optional은 상자 같은 것으로 생각하시면 되는데, 내부에 null 값을 가질 수도 있고, null이 아닌 값을 가질 수도 있습니다.

따라서 이 코드는 null일 수도 있는 상황에 null을 상자에 담은 Optional 자체를 반환하기 위한 목적입니다^^! 그런데 여기서 orElse()를 호출하면 Optional 상자를 반환할 수 없습니다.

감사합니다.

ewgregerg c님의 프로필 이미지
ewgregerg c

작성한 질문수

질문하기