如果 Java Stream API 可用,则报告伪函数代码的用法。

虽然 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 的 Iterable.transform 产生惰性求值的可迭代对象,但替换为及早求值。

使用转换为 'Stream' API 的 static 方法调用选项,配置应转换为 stream API 的 static 方法调用。

仅当项目或模块的语言级别为 8 或更高时,此检查才会报告。