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

时间:2011-11-11 15:27:46

标签: java ternary-operator

我知道你可以拥有

String answer = (5 == 5) ? "yes" : "no";

是否有可能只有:

String answer = (5 == 5) ? "yes";

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

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

3 个答案:

答案 0 :(得分:6)

如果一行很重要

String answer = (5 == 5) ? "yes": null;

由于String的默认值为null。

答案 1 :(得分:4)

您正在寻找if声明:

if (5 == 5)
    answer = "yes";

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

答案 2 :(得分:1)

没有。你不能拥有它。你需要同时指定?并且:。

使用直的if。