Java Stream API를 이용할 수 있는 경우 Guava 의사 함수 코드가 사용된 경우를 보고합니다.
Guava Iterable API는 Java Streams API와 유사한 기능을 제공하지만 약간의 차이점이 있으며 일부 기능이 누락될 수 있습니다.
특히 IntStream과 같이 기본 타입에 특화된 스트림 항목은 제네릭 항목보다 성능 면에서 더욱 뛰어납니다.
예:
List<String> transformedIterable = Iterables.transform(someList, someTransformFunction);//경고: 의사 함수 스타일 코드
빠른 수정을 적용한 후:
List<String> transformedIterable = someList.stream().map(someTransformFunction).collect(Collectors.toList());
참고: 코드 의미가 변경될 수 있습니다. 예를 들어, Guava의 terable.transform은 지연 평가된 이터러블을 생성하지만 대체 시 즉시 평가된 이터러블이 생성됩니다.