如果 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 选项,配置应转换为 stream API 的静态方法调用。

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