微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Sonar Qube说,Objects.inNull总是评估为错误,导致生产中的代码构建失败

如何解决Sonar Qube说,Objects.inNull总是评估为错误,导致生产中的代码构建失败

由于某种原因,声纳报告(客户端报告)以下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注释来说明它,警告会消失。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。