java - 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
解决方案
result
可能是空的,但它不会null
,Objects.isNull()
因此永远不会返回true
。
如果在数据库中未找到数学数据,则hasNext()
返回false
每个Iterator
返回的iterator()
.
虽然您在技术上能够创建自己的实现,但 return 可能没有意义null
。
如果你真的想这样做并且有理由这样做,你可以//NOSONAR
在同一行添加一个解释它的注释,警告就会消失。
推荐阅读
- python - 使用 Beautiful Soup 和 Proxy 来 __Scrape__ 来自亚马逊的数据
- r - `E<-`(`*tmp*`, value = 1:9) 中的错误:尝试在 R 中进行图形分析时索引无效
- reactjs - 匹配对象内函数的最佳方法 - React Native
- java - 无法使用地图保存 Objectify 实体
在嵌入式课程中? - game-center - 游戏中心“实时比赛”因无法连接而被 App Store Review 拒绝
- reactjs - 烧瓶 api 端点使用邮递员返回正确的响应,但不使用浏览器(chrome)
- python - 如何使用 for 循环编写 Pyomo 变量
- cocoa - 如何在 Visual Studio 中使用 C# 语言在 Cocoa 应用程序中启动 Mac 的摄像头/网络摄像头?
- google-drive-api - 复制的 Google Drive 视频 API 质量低
- typescript - class-validator 使用 createQueryBuilder 意外触发验证