使用三元运算符"什么都不做"

dom*_*omi 12 java android

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

foo() ? bar() : /* Do nothing */;
Run Code Online (Sandbox Code Playgroud)

是否可以排除本声明中"其他"部分的逻辑?我尝试使用,return;但编译器给出了错误.基本上我想要实现的是使用三元运算符的语句,如下所示:

foo() ? bar();
Run Code Online (Sandbox Code Playgroud)

这可以实现吗?

wvd*_*vdz 22

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

String a = bar() ? foo() : null;
Run Code Online (Sandbox Code Playgroud)

对于您的用例,您只需使用if结构:

if (foo())
    bar();
Run Code Online (Sandbox Code Playgroud)

  • 我使用“null”时出现错误,我宁愿使用“void(0)” (2认同)

A.v*_*A.v 5

如果它像那样工作,我们就不会再称它为三元了。我认为唯一的方法是做一些什么都不做的事情。例如调用一个具有空主体的方法,或者如果您将此操作的值分配给变量,则只需分配一个默认值。