使用重构代码在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));
}
答案 0 :(得分:2)
您应关闭流:
例如我将结果收集到列表中
List<ContextData>contextDataList = Globals.contextMap.values().stream()
.sorted(Comparator.comparing(ContextData::getName))
.collect(Collectors.toList());