Sonar希望关闭流。

11

我有下面的代码:

private Stream<Field> getStreamWithAccessibleFields(final Object object) {
    return Arrays.stream(object.getClass()
            .getDeclaredFields()).peek(field -> field.setAccessible(true));
}

Sonar提出了一个问题:[MINOR] Close this "Stream". squid:S2095。 有人能给些建议,我该如何处理这个问题吗?


所以Sonar存在双重错误。首先,有些流可能不需要关闭,其次,关闭返回给调用者的资源对于任何类型的“AutoCloseable”都是错误的... - Holger
尽管如此,出于效率考虑,我仍然更喜欢批量操作:Field[] fields=object.getClass() .getDeclaredFields(); AccessibleObject.setAccessible(fields, true); return Arrays.stream(fields); - Holger
1个回答

11

这是一个已经修复的错误报告,很快将随着SonarQube Java 3.14版本发布。

如需进一步了解,请查看SONARJAVA-1478


哎?链接没挂啊。 - Fabrice - SonarSource Team
啊..我的公司网络阻止我访问那个链接。非常抱歉浪费了您的时间。 - akash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接