Java Stream API 에서 peek 메서드 사용
인텔리제이에서 Stream 사용 중 peek를 사용하라고 추천해줬다. 예를 들면 아래와 같이 map을 사용하면 peek을 추천해주는데 인텔리제이에서 추천해주니 Replace하고 그냥 사용할 수 있지만 주석에 써있기로는 디버깅용으로 사용하라고 한다.왜 추천한걸까? 디버깅이 필요해 보였나? peek로 변경하면 아래와 같은 코드로 변경되는데 결과 값은 map을 사용했을 때와 같다..peek(u -> u.setName("New Name")) 결과 값이 같은데 왜 peek를 디버깅용에만 사용하라고 하는걸까? 주석 내용을 읽어보면 최종 연산 즉 Collect()나 toList() 가 이루어지지 않으면 peek는 실행되지 않으며자바가 자체적으로 Stream 최적화를 진행할 때 불필요하다고 판단하면 peek 로직이 무..
2026.01.21