重构代码,以便使用此流管道

时间:2020-10-15 11:37:17

标签: java java-8 sonarqube

使用重构代码在SonarQube中获取错误,以便在以下代码段中使用此流管道。

Stream<ContextData> stream = Globals.contextMap.values().stream()
.sorted(Comparator.comparing(ContextData::getName));

我们如何解决这个问题?

sonarQube提供的评论是, 中间流方法不应保留。

但是在这一行之后我还有其他用途,

String contextName = parameterParser.getTagsWithValue().get(FilterParameter.CONTEXT_NAME);
if (contextName != null) {
    stream = stream.filter(entity -> entity.getName() !=null && entity.getName().equalsIgnoreCase(contextName));
}

1 个答案:

答案 0 :(得分:2)

您应关闭流:

例如我将结果收集到列表中

List<ContextData>contextDataList = Globals.contextMap.values().stream()
.sorted(Comparator.comparing(ContextData::getName))
.collect(Collectors.toList());