当前位置: 首页 > 知识库问答 >
问题:

短路评估的性能影响

尉迟宪
2023-03-14

免责声明:我对反向工程字节码没有太多的经验,所以请不要对我太苛刻,如果这可以“轻松”回答我的问题。

if (condition && (list!=null) && (list.size()>0)) /* Do something */ ;
if (condition) {
    if (list!=null) {
        if (list.size()>0) {
            // Do something
        }
    }
}
if ((condition & (list!=null)) && (list.size()>0)) /* Do something */ ;

共有1个答案

曾永新
2023-03-14

这里没有提到任何一种分支。这只是一个表达式计算,if语句中的&&与表达式中的&&没有什么不同。您会用下面的代码问同样的问题吗?

boolean isValid = condition && (list!=null) && (list.size()>0);
if (isValid) {
    ...
}

基本上就是这样,表达式得到计算,然后分支发生。

 类似资料:
  • 问题内容: 这是我在处理Django项目时出现的一个问题。关于表单验证。 在Django中,当您提交表单时,可以调用相应的表单对象以触发验证并返回布尔值。因此,通常在视图函数中有类似的代码: 不仅可以验证表单数据,还可以向表单对象添加错误消息,这些错误消息随后可以显示给用户。 在一页上,我同时使用两种形式,并且还希望仅当两种形式均包含有效数据时才保存数据。这意味着我必须在执行代码以保存数据之前在两

  • 使用方法 性能评估模块提供了一系列用于模型性能评估的函数,这些函数在模型编译时由metrics关键字设置 性能评估函数类似与目标函数, 只不过该性能的评估结果讲不会用于训练. 可以通过字符串来使用域定义的性能评估函数 model.compile(loss='mean_squared_error', optimizer='sgd', metri

  • 使用方法 性能评估模块提供了一系列用于模型性能评估的函数,这些函数在模型编译时由metrics关键字设置 性能评估函数类似与目标函数, 只不过该性能的评估结果讲不会用于训练. 可以通过字符串来使用域定义的性能评估函数,也可以自定义一个Theano/TensorFlow函数并使用之 参数 y_true:真实标签,theano/tensorflow张量 y_pred:预测值, 与y_true形式相同的

  • 问题内容: 我可以在MySQL 5.5的子句中使用任何短路逻辑运算符(特别是短路和短路)吗?如果没有,那还有什么选择? 在这个小提琴中可以找到关于我的问题的抽象观点以及对我为什么需要它的解释: http://sqlfiddle.com/#!2/97fd1/3 实际上,我们正在数百个国家/地区的数以千计的城市中的数百万家书店中查找数百万本图书,这就是为什么我们无法接受我们发送的每个查询都收到不必要信

  • 问题内容: 我正在类之间进行一些Java性能比较,并想知道是否存在某种Java Performance Framework可以简化编写性能测量代码的过程? 即,我现在正在尝试测量与使用AtomicInteger作为我的“同步器”相比,使用PseudoRandomUsingSynch.nextInt()中的“同步”方法具有什么效果。 因此,我尝试使用3个线程访问10000次同步方法循环来测量生成随机

  • 问题内容: 我想知道JavaScript是否具有C#中的&&运算符之类的“短路”评估。如果没有,我想知道是否有一种合理的解决方法可以采用。 问题答案: 是的,JavaScript具有“短路”评估。