声纳错误条件不应无条件评估为“TRUE”或“FALSE”

2023-12-21

我遇到声纳违规:

“条件不应无条件评估为“TRUE”或“FALSE””

对于下面的代码。

List<MediaContent> savedList = source.getChildMediaContents();
List<MediaContent> supplierList = target.getChildMediaContents();

// if existing and incoming both empty
if(savedList == null && supplierList == null){
    return false;
}

// if one is null and other is not then update is required
if(savedList == null && supplierList != null){
    return true;
}

if(savedList != null && supplierList == null){
    return true;
}

在两个 if 块下方它给出了错误

// if one is null and other is not then update is required
if(savedList == null && supplierList != null){
    return true;
}

if(savedList != null && supplierList == null){
    return true;
}

if(savedList == null && supplierList == null){
    return false;
}

if(savedList == null && supplierList != null){

条件supplierList != null达到时始终为真。 由于短路行为&&Java 中的运算符, 前supplierList != null到达了,savedList == null首先必须是真的。

But if savedList == null是真的, 那么从前面的条件我们知道supplierList is not null,所以这是一个毫无意义的条件。

另一方面,如果savedList == null是假的, 那么由于短路行为, 这supplierList != null不会被评估。

因此,无论结果如何savedList == null, supplierList != null永远不会被评价, 所以你可以简单地删除这个条件。

if (savedList == null) {
    return true;
}

Next:

if(savedList != null && supplierList == null){

由于之前的简化,现在很清楚savedList不可能是null。所以我们也可以删除这个条件:

if (supplierList == null) {
    return true;
}

简而言之,这相当于您发布的代码:

if (savedList == null && supplierList == null) {
    return false;
}

if (savedList == null || supplierList == null) {
    return true;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

声纳错误条件不应无条件评估为“TRUE”或“FALSE” 的相关文章

随机推荐

  • 使用AVPlayer播放加密视频

    我正在实现一个包含视频播放器的应用程序 由于某些原因 视频文件使用 AES 加密 并且这些文件的大小可能相当大 以避免将其作为一个整体加载到 RAM 中 我正在寻找一些用 AVPlayer 来播放它的方法 Tried 1 按照此处建议的自定
  • 可以编译Scala程序但无法运行它们

    我可以在终端中使用 scalac 编译 scala 程序 但收到警告 Charless Macintosh src Charles scalac hello scala Charless Macintosh src Charles scal
  • 以正确的尺寸打印 HTML5 Canvas

    是否有正确的方法来指定画布元素的尺寸 例如以毫米为单位 以便如果我将其打印出来它将具有正确的尺寸 我试过这个简单的例子
  • 输出子句 VS 触发器

    在我们的数据库中 大多数表都有一个dbupddate字段表示datetime最后的INSERT or UPDATE应用在该行 为了避免该字段有错误的值 存在触发器 有时AFTER 有时INSTEAD OF 这确保最终该值是正确的 而不是有人
  • EF 4.1 Code First 中的 XML 数据类型

    我想使用 SQL Serverxmltype 作为实体类的列类型 根据这个线程 https social msdn microsoft com Forums en US 2d6b75ee a1b7 44bf b5f3 d32b12f2db6
  • 无法连接到 Elasticsearch(通过 Curl)

    我最近安装了 Elasticsearch 前几天一切都运行良好 但不知何故今天它停止工作了 当我启动服务时 它声称没问题 sudo etc init d elasticsearch start Starting Elasticsearch
  • 如何强制mysql UPDATE查询使用索引?如何让mysql引擎自动使用索引而不是强制使用索引?

    下面是不使用最近创建的复合索引的更新查询 查询计划 解释表明它没有使用名为的复合索引radacctupdate我认为这将使更新查询更快 表上还有其他索引可供其他查询使用 EXPLAIN UPDATE radacct SET acctstop
  • 如何在Scheme中列出评估的所有中间步骤

    例如 如果有表达式 map lambda x add1 x 1 2 3 其评估结果为 2 3 4 如何显示所有中间步骤 在本例中为 map lambda x add1 x 2 2 3 map lambda x add1 x 2 3 3 我认
  • 每次调试运行时禁用辅助服务

    每次启动新的调试实例时 我的辅助功能服务都会重置为禁用状态 有什么方法可以在连续的调试运行中保持启用它 因为每次启用它以调试服务是相当漫长且无聊的 我在真实设备和模拟器上有相同的行为 服务中没有异常 我尝试了事件处理程序中没有代码的事件 我
  • 在编译库中查找 System.gc()

    我在 gc 日志中看到显式的 gc 调用 见下文 我可以使用 XX DisableExplicitGC 删除调用 但我真的想知道哪个代码 库正在调用System gc 关于如何追踪它有任何提示吗 2011 05 30T12 21 48 23
  • 有哪些好的 java make 实用程序?

    我正在寻找一个用于构建大型 java 程序的 make 实用程序 我已经知道 ANT 但想看看还有什么可用的 理想情况下 它应该能够处理导致 GNU Make 混乱的 java gt class 包目录怪异现象 Win32 但跨平台是一个优
  • Rails:对渲染视图进行后处理

    某些 Rails 应用程序会生成一个视图 其中显示有关资源的一些信息 我想通过插件抑制一些信息 而不改变或覆盖视图 一种可能的方法是重写插件中的视图 但这可能会干扰其他插件 我不希望这样 有没有办法修改控制器 以便生成的视图在发送到客户端之
  • 如何检测flutter应用程序何时从后台返回?

    我想检测扑动应用程序何时从后台返回 在其他跨App开发的SDK中 当应用程序更改此状态时 通常会有一个监听器 flutter中有类似的东西吗 class AppState extends State
  • HTTP 标头中的 unicode 用户代理合法吗?

    我正在维护的一个应用程序将从 Web 日志中提取的用户代理加载到使用 latin1 字符集的 MySQL 表列中 有时 它无法加载如下所示的用户代理 Mozilla 5 0 I CPU iPhone OS 5 0 1 like Mac OS
  • UIImageView.appearance 覆盖 UISegmentedControl.appearance

    我一直在尝试使用外观代理 API 将一些默认颜色应用于某些控件 但遇到了问题 当我应用色调颜色时UISegmentedControl使用类似 UISegmentedControl appearance tintColor UIColor r
  • Qt:如何获取当前正在运行的窗口?

    我正在编写一个模拟按键的测试应用程序 我想了解每次按键后显示的窗口 这是代码块 std auto ptr
  • Colorbar - Matlab 中的轴刻度

    我正在使用下面的代码 d3 vals n datesmonth figure plot n d3 colormap jet 12 hold on plot n d3 b scatter n d3 RiskierInd filled caxi
  • React Native iOS 有效登录后“Safari 无法打开页面,因为地址无效”

    登录成功后得到如下信息 登录流程在 Android 上按预期工作 并正确返回令牌 刷新等 Safari 无法打开页面 因为地址无效 错误屏幕录制 https i stack imgur com N5esc gif Auth0 Callbac
  • 单一案例歧视工会的目的

    我正在定义一个单子可观察 反应式解析器 这与普通解析器的行为完全不同 因为它是连续查询 底层类型是 IObservable lt a gt gt IObservable lt b gt 从函数式语言中的各种解析器实现来看 似乎定义事物的更合
  • 声纳错误条件不应无条件评估为“TRUE”或“FALSE”

    我遇到声纳违规 条件不应无条件评估为 TRUE 或 FALSE 对于下面的代码 List