코틀린과 자바 코드가 동시에 각 언어의 관습을 따르게 할 수 있다. 추출 후 인라이닝하는 리팩
터링 조합을 사용하면 코드 기반에 코틀린과 자바 코드의 관습을 동시에 만족하는 코드를 쉽게
추가할 수 있고, 더 이상 필요하지 않을 때 불필요한 위임 메서드를 쉽게 제거할 수 있다.
241
13
장
스트림에서 이터러블이나 시퀀스로
자바와 코틀린은 모두 컬렉션을 변환하고 축약하도록 해 준다. 하지만 각각의 설계 목표와 구현은 서
로 다르다. 코틀린이 자바 스트림 대신 무엇을 사용할까? 어떻게 하면 자바 스트림을 이런 코틀린 구
조로 변환할 수 있고, 언제 이런 변환을 수행해야 할까?
13.1
자바 스트림
2014
년 자바
8
에 스트림이 도입됐고, 스트림은 (똑같이 자바
8
에 도입된) 새로운 람다를 잘
활용한다. 몇몇 문자열의 평균 길이를 처리해야 하는데, 공백으로 이뤄진 문자열을 빈 문자열
처럼 다뤄야 한다면 어떻게 해야 할까? 이전에는 다음과 같이 쓸 수 있었다.
public static double averageNonBlankLength(List<String> strings) {
var sum = 0;
for (var s : strings) {
if (!s.isBlank()) ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.