使用三元运算符“不执行任何操作”
我想像这样使用三元运算符 - 只检查语句的一部分:true
foo() ? bar() : /* Do nothing */;
是否有可能排除此语句中“其他”部分的逻辑?我尝试使用,但编译器给出了错误。基本上,我想要实现的只是一个使用三元运算符的语句,如下所示:return;
foo() ? bar();
这是可以实现的吗?
我想像这样使用三元运算符 - 只检查语句的一部分:true
foo() ? bar() : /* Do nothing */;
是否有可能排除此语句中“其他”部分的逻辑?我尝试使用,但编译器给出了错误。基本上,我想要实现的只是一个使用三元运算符的语句,如下所示:return;
foo() ? bar();
这是可以实现的吗?
三元运算符通常用于立即赋值。
String a = bar() ? foo() : null;
对于您的用例,您可以简单地使用 if 构造:
if (foo())
bar();
如果它能像这样工作,我们就不会再称它为三元了。我认为唯一的办法是做一些什么都不做的事情。例如,调用具有空正文的方法,或者如果将此操作中的值赋给变量,只需分配一个默认值即可。