首页 > 解决方案 > Sonar Qube 说 Objects.inNull 总是评估为错误的结果代码构建在生产中失败

问题描述

出于某种原因,声纳报告(客户端报告)以下 Objects.isNull 始终评估为 false 禁用生产升级。有人可以帮我理解为什么客户端 sonarqube 会发生这种情况以及如何解决吗?

Iterable<Sim> result = repository.findAllById(list);
        
        if (Objects.isNull(result)) {  // Sonar thinks it always evaluates to false 

标签: javaspring-data-jpasonarqube

解决方案


result可能是的,但它不会nullObjects.isNull()因此永远不会返回true

如果在数据库中未找到数学数据,则hasNext()返回false每个Iterator返回的iterator().

虽然您在技术上能够创建自己的实现,但 return 可能没有意义null

如果你真的想这样做并且有理由这样做,你可以//NOSONAR在同一行添加一个解释它的注释,警告就会消失。


推荐阅读