使用“?:”模拟短路评估

时间:2019-12-05 04:04:16

标签: java short-circuiting

如何使用短路和foo() || bar()运算符来模拟foo() && bar()?:

我是一名学生,从未使用过?:运算符,并且想尝试。经过一番谷歌搜索,我发现它本质上是:

Condition ? (things to do if true) : (things to do if false);

在不使用&&||的情况下是否可以实现?我正在尝试解决短路问题,因为我对此非常陌生,并且即将到来的决赛!

1 个答案:

答案 0 :(得分:2)

假设foo()bar()都返回boolean,然后

foo() || bar()

相同
foo() ? true : bar();

因为首先评估foo(),并且仅在bar()为假的情况下才需要评估foo()

同样,

foo() && bar()

相同
foo() ? bar() : false;

foo()首先被评估,bar()仅在foo()为真时才需要评估。