【发布时间】:2019-08-19 05:22:12
【问题描述】:
我有 findebug,它在一种情况下检查发现错误而在另一种情况下不检查,我完全不明白它是如何连接的。
所以我遇到了这个 RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 并开始尝试不同的代码,并找到了修复这个警告的变体,但它看起来与报告的问题完全无关。
此代码确实会生成 RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT
final Node currentProjectNode = TripleUtil.createNode(projectId);
final ParameterizedSparqlString pQuery = new ParameterizedSparqlString();
pQuery.setNsPrefix(TripleUtil.NS_PREFIX, TripleUtil.NS);
而且这段代码不会产生错误
final Node currentProjectNode = TripleUtil.createNode(projectId);
final PrefixMappingImpl prefixMapping = new PrefixMappingImpl();
prefixMapping.setNsPrefix(TripleUtil.NS_PREFIX, TripleUtil.NS);
final ParameterizedSparqlString pQuery = new ParameterizedSparqlString();
pQuery.setNsPrefix(TripleUtil.NS_PREFIX, TripleUtil.NS);
如您所见,我只是实例化类,然后使用它的方法,仅此而已,我没有更改生成错误的代码,我没有更改生成错误的方法。看起来在第一个示例 findbug 中找不到正确的实现或其他东西,但我不明白为什么? 毕竟不应该报道,因为 prefixMapping.setNsPrefix 做一些工作而不仅仅是返回值。
【问题讨论】:
标签: java jena findbugs false-positive