我有一个令我难以置信的简单问题。我试图在java中使用三元运算符。我是Android和java的新手。这段代码给了我错误:
amt < 0 ? lendBtn.setChecked(true) : lendBtn.setChecked(false);
"Syntax error on token "<", invalid AssignmentOperator"
所以,我用if语句替换它,它完全有效:
if (amt < 0) { ... }
这不是什么大问题,但有人知道为什么吗?
答案 0 :(得分:16)
这与Android无关。您不能将条件表达式单独用作语句......并且第二个和第三个操作数也不能是void表达式。
您应该使用:
lendBtn.setChecked(amt < 0);
......开始时更简单。