Одиночное выражение в тернарном операторе в Java - PullRequest
0 голосов
/ 11 ноября 2011

Я знаю, что вы можете иметь

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

Возможно ли как-то иметь только:

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

При попытке выдается ошибка компиляции.

ПРИМЕЧАНИЕ: (5==5) это просто пример.На его месте будет утверждение, которое может быть как истинным, так и ложным.

Ответы [ 3 ]

6 голосов
/ 11 ноября 2011

если важна одна строка

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

Поскольку значение по умолчанию для строки равно нулю.

4 голосов
/ 11 ноября 2011

Вы ищете оператор if:

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

Ваша идея невозможна, потому что выражение (например, условное значение) должно всегда иметь значение.
В вашем коде, если 5 != 5, выражение не будет иметь значения, что не имеет никакого смысла.

1 голос
/ 11 ноября 2011

Нет. ты не можешь иметь это. Вам нужно указать оба? и:.

Используйте прямую, если.

...