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

도전적인 가재님의 프로필 이미지
도전적인 가재

작성한 질문수

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

스프링 JdbcTemplate

findById 코드를 작성할 때 리턴으로 꼭 result.stream().findAny()로 해야하나요?

작성

·

386

0

return result.stream().findAny();
말고 
return result.get(0);
은 안되나요?

답변 1

0

안녕하세요. H〈〈 D님, 공식 서포터즈 OMG입니다.
.

메서드의 반환 타입이 Optional<Member>
이기 때문에 Optional<Member>를 반환해야합니다.

public Optional<Member> findById(Long id) {

 

List<Member> result = ...

result의 타입은 List<Member>이므로 result에서 get(0)을 한다는 것은 Optional<Member>를 반환하는 것이 아닌 Member를 반환하게 되는 것이므로 불가능합니다.

.


감사합니다.

안녕하세요 OMG님
그렇다면
return Optional.ofNullable(reuslt.get(0));
으로 해도 똑같겠네요?

null체크만 차이가 있고 동일한 결과를 하는 코드 일 것 같습니다 😀

도전적인 가재님의 프로필 이미지
도전적인 가재

작성한 질문수

질문하기