由于某些原因,声纳报告(客户端报告(以下Objects.isNull总是评估为false,从而禁用生产升级。有人能帮我理解客户sonarqube为什么会发生这种情况,以及如何解决吗?
Iterable<Sim> result = repository.findAllById(list);
if (Objects.isNull(result)) { // Sonar thinks it always evaluates to false
result
可能是空,但它不会是null
,因此Objects.isNull()
永远不会返回true
。
如果在数据库中找不到数学数据,hasNext()
将为iterator()
返回的每个Iterator
返回false
。
虽然从技术上讲,您可以创建自己的实现,但返回null
可能没有意义。
如果你真的想这样做,并且有理由这样做,你可以在同一行添加一个//NOSONAR
注释来解释它,警告就会消失。