22.04.02 20:02 작성
·
211
0
회원가입 할 때 어차피 id값은 다르게 들어가니까
이름은 중복이 가능하도록 코드가 구현되어있는 건가요?
답변 2
0
2022. 04. 04. 02:39
그럼 이름이 중복이 안되면
1. findByid처럼 바로 store.get(name) 이렇게 꺼내면 안되는 건가요??
2. findByid 메서드가 매개변수로 넘어온 아이디와 아이디가 동일한 member객체를 찾아서 반환해주는 것으로 이해했는데, 구현된 코드는 id값을 반환했는데 어떻게
optional<Member>하고 한건가요ㅠㅠ?
id는 int아닌가요?
2022. 04. 04. 20:24
1. 저장소의 key는 Long 타입의 Id입니다.
name으로 찾으려면 강의에서 처럼 스트림으로 Map을 순회하여 해당하는 nam을 찾도록 해야합니다.
2.
findById와 findByName 의 반환타입은 Optional<Member>이며,
store.values().~.findAny()의 반환타입이 Optional<해당 스트림의 타입>이 되기 때문에 가능합니다.
id는 Long입니다.