인프런 커뮤니티 질문&답변
loginservice부분 질문이요
작성
·
539
·
수정됨
답변 1
1
login()과 findByLoginId()를 비교해보시면 차이가 보일텐데요,
findByLoginId는 findAll()의 컬렉션[[ ArrayList ]]을 순회하기 위해 stream()을 사용하지만,
public Optional<Member> findByLoginId(String loginId) {
return findAll().stream()
.filter(m -> m.getLoginId().equals(loginId))
.findFirst();
}
public List<Member> findAll() {
return new ArrayList<>(store.values());
}login()은 Member 객체를 감싼 Optional<Member>를 memberRepository.findByLoginId(loginId)를 호출하는 차이가 있습니다.
Optional 과 Stream의 사용 차이로 보시면 될 것 같습니다.
.
감사합니다.






리스트타입은 다건이고 Optional<Member>단건이어서 사용안하였다고 보면 될거같네요