Java中三元运算符中的单表达式

Dav*_*vid 0 java ternary-operator

我知道你可以拥有

String answer = (5 == 5) ? "yes" : "no";
Run Code Online (Sandbox Code Playgroud)

是否有可能只有:

String answer = (5 == 5) ? "yes";
Run Code Online (Sandbox Code Playgroud)

我尝试时会出现编译错误.

注意:(5==5)只是一个例子.取而代之的是可能是真或假的陈述.

Joe*_*Joe 6

如果一条线很重要

String answer = (5 == 5) ? "yes": null;
Run Code Online (Sandbox Code Playgroud)

由于String的默认值为null.


SLa*_*aks 5

你正在寻找一个if声明:

if (5 == 5)
    answer = "yes";
Run Code Online (Sandbox Code Playgroud)

您的想法是不可能的,因为表达式(例如条件值)必须始终具有值。
在您的代码中, if 5 != 5,表达式将没有任何价值,这没有任何意义。