两个 IF 语句与一个 AND 语句

2022-09-03 12:36:52

在java中,我想知道其中哪一个更有效:

if(something)
   {
      if(something)
    }

if((something) &&(something))

我想知道在性能方面两者的优点是什么。哪些解决方案更适合不同的数据对象。


答案 1

性能将完全相同。将评估第一个语句,并且仅当它为 true 时,才会评估第二个语句。

这仅仅是一个可读性问题。除非如果第一个陈述是真的,除非需要做一些事情,否则无论第二个陈述如何,我都会在同一行中同时使用两者,因为很明显,两个陈述都需要是真实的才能发生某些事情。您也不必不必要地缩进。


答案 2

在Java中,短路。这意味着,如果 中的第一个条件计算结果为 到 ,则第二个条件甚至不会被计算。&&a && bfalse

因此,两者几乎肯定会产生相同的代码,并且没有性能差异。

在这两种形式中,您应该使用任何一种来获得更清晰的代码。


推荐