Java如何在单个IF语句中处理多个条件

保罗:

可以说我有这个:

if(bool1 && bool2 && bool3) {
...
}

现在。如果bool1被评估为false,那么Java是否足够聪明来跳过检查bool2和bool2?Java甚至从左到右检查它们吗?我之所以这样问,是因为我在整理条件时将其内部条件“分类”(从左侧最便宜的条件开始)。现在我不确定这是否会给我带来任何性能上的好处,因为我不知道Java如何处理这个问题。

Tomasz Nurkiewicz:

是的,Java(类似于其他主流语言)使用 惰性评估 短路,这意味着它评估的次数越少越好。

这意味着以下代码是完全安全的:

if(p != null && p.getAge() > 10)

另外,a || b从不评估b是否atrue

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章