We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
List<Menu> menus = new ArrayList<>(); request.menuRequests().stream() .map(menuRequest -> Menu.create(pub, menuRequest.menuName(), menuRequest.price(), menuRequest.oneLiner())) .map(menuRepository::save) .menus.add(menu);
이를 어떻게 하면 직접적으로 기술할 수 있을까?
List<Menu> menus = request.menuRequests().stream() .map(menuRequest -> Menu.create(pub, menuRequest.menuName(), menuRequest.price(), menuRequest.oneLiner())) .map(menuRepository::save) .collect(Collectors.toList());
해당 방식으로 개선할 수 있지 않을까? 코드의 흐름을 보다 직접적으로 표현할 수 있어진 것 같다.. 가독성도 조금 오른 것 같기도 하고..?
개선된 코드에서 toList()로 스트림 API를 반환할 경우 불변한 List 객체가 반환되기 때문에, 컴파일시에는 문제가 생기지 않지만 런타임시 오류가 생긴다.
왜일까? 아마도 불변한 객체를 도메인에 추가하는 과정에서 오류가 생기는 것이 아닐까.. 시스템 상에서 리스트를 변형하려는 의도가 있었나보다..
간단했다. toList()를 collect(Collectors.toList())로, 즉 수정 가능한 List를 반환하도록 하여 오류를 해결할 수 있었다!^_^
toList()
collect(Collectors.toList())
The text was updated successfully, but these errors were encountered:
jwnnoh
No branches or pull requests
무엇을 알게 되었나요?
기존 코드
이를 어떻게 하면 직접적으로 기술할 수 있을까?
해당 방식으로 개선할 수 있지 않을까? 코드의 흐름을 보다 직접적으로 표현할 수 있어진 것 같다.. 가독성도 조금 오른 것 같기도 하고..?
어려운 내용이 있었다면 이를 어떻게 해결하였나요?
toList()
개선된 코드에서 toList()로 스트림 API를 반환할 경우 불변한 List 객체가 반환되기 때문에, 컴파일시에는 문제가 생기지 않지만 런타임시 오류가 생긴다.
왜일까? 아마도 불변한 객체를 도메인에 추가하는 과정에서 오류가 생기는 것이 아닐까..
시스템 상에서 리스트를 변형하려는 의도가 있었나보다..
해결방법
간단했다.
toList()
를collect(Collectors.toList())
로, 즉 수정 가능한 List를 반환하도록 하여 오류를 해결할 수 있었다!^_^어떤 자료를 참고하였나요?
The text was updated successfully, but these errors were encountered: