三元运营商不在Android工作

时间:2011-06-21 20:37:01

标签: java ternary-operator

我有一个令我难以置信的简单问题。我试图在java中使用三元运算符。我是Android和java的新手。这段代码给了我错误:

amt < 0 ? lendBtn.setChecked(true) : lendBtn.setChecked(false);

"Syntax error on token "<", invalid AssignmentOperator"

所以,我用if语句替换它,它完全有效:

if (amt < 0) { ... }

这不是什么大问题,但有人知道为什么吗?

1 个答案:

答案 0 :(得分:16)

这与Android无关。您不能将条件表达式单独用作语句......并且第二个和第三个操作数也不能是void表达式。

您应该使用:

lendBtn.setChecked(amt < 0);

......开始时更简单。