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