为什么 SonarQube 显示所有 Java 流的消息:重构代码以便使用此流管道。?

Why does SonarQube is showing the message for all Java Streams: Refactor the code so this stream pipeline is used.?

我在 Java 17 版本中有一个 Java 项目 运行。我已将我的代码推送到 SonarQube 为 运行 的组织存储库。在该存储库中,我在项目中使用的所有 Java Streams List 得到 issues/bugs。即使是简单的。

有人可以告诉我为什么我在关注 Java 信息流时遇到问题吗?

1. return input.stream().filter(Objects::nonNull).toList();

2. return input.stream().map(String::toLowerCase).toList();

3. return input.stream().filter(Objects::nonNull).map(i -> DOMAIN + "/" + i).toList();

对于上述所有 Java 流,我遇到了以下问题:

Refactor the code so this stream pipeline is used.

我尝试使用 .collect(Collectors.toList()); 而不是 .toList();,如果我这样做,那么我的 Intellij/SonarLint 表明我需要使用 .toList();。所以我有点困惑。

有人可以告诉我这些 Java 流有什么问题吗?我对此没有任何问题?

张贴答案,因为它可能对以后的人有帮助:

发生这种情况是因为 SonarQube 使用的是旧版本。我更新了 SonarQube,此错误消失了。

问题发生在某些 6.3.x 版本我更新到 9.x 版本,现在一切都解决了。