使用三元运算符“不执行任何操作”

2022-09-01 09:51:58

我想像这样使用三元运算符 - 只检查语句的一部分:true

foo() ? bar() : /* Do nothing */;

是否有可能排除此语句中“其他”部分的逻辑?我尝试使用,但编译器给出了错误。基本上,我想要实现的只是一个使用三元运算符的语句,如下所示:return;

foo() ? bar();

这是可以实现的吗?


答案 1

三元运算符通常用于立即赋值。

String a = bar() ? foo() : null;

对于您的用例,您可以简单地使用 if 构造:

if (foo())
    bar();

答案 2

如果它能像这样工作,我们就不会再称它为三元了。我认为唯一的办法是做一些什么都不做的事情。例如,调用具有空正文的方法,或者如果将此操作中的值赋给变量,只需分配一个默认值即可。


推荐