인프런 커뮤니티 질문&답변
getLoginId() 함수가 어떻게 동작하는지 궁금합니다
작성
·
433
0
강의에서 getLoginId()를 정의한적이 없는데,
갑자기 어떻게 동작하는지 궁금합니다.
public class MemberRepository {
private static Map<Long, Member> store = new HashMap<>(); //static 사용
private static long sequence = 0L; //static 사용
public Member save(Member member) {
member.setId(++sequence);
log.info("save: member={}", member);
store.put(member.getId(), member);
return member;
}
public Member findById(Long id) {
return store.get(id);
}
public List<Member> findAll() {
return new ArrayList<>(store.values());
}
public Optional<Member> findByLoginId(String loginId) {
// List<Member> all = findAll();
// for (Member m : all) {
// if (m.getLoginId().equals(loginId)) {
// return Optional.of(m);
// }
// }
// return Optional.empty();
return findAll().stream().filter(m -> m.getLoginId().equals(loginId)).findFirst();
}
}답변 1
1
안녕하세요. David Byun님, 공식 서포터즈 OMG입니다.
.
올리신 코드
public class MemberRepository {
private static Map<Long, Member> store = new HashMap<>(); //static 사용
private static long sequence = 0L; //static 사용
public Member save(Member member) {
member.setId(++sequence);
log.info("save: member={}", member);
store.put(member.getId(), member);
return member;
}
public Member findById(Long id) {
return store.get(id);
}
public List<Member> findAll() {
return new ArrayList<>(store.values());
}
public Optional<Member> findByLoginId(String loginId) {
// List<Member> all = findAll();
// for (Member m : all) {
// if (m.getLoginId().equals(loginId)) {
// return Optional.of(m);
// }
// }
// return Optional.empty();
return findAll().stream().filter(m -> m.getLoginId().equals(loginId)).findFirst();
}
}강의코드

getLoginId()는 Member클래스의 loginId필드와 롬복의 @Data필드로 인해 생성됩니다.
.
감사합니다.





