在Java中出现多个condtions的三元运算符抛出错误

时间:2016-02-11 04:33:23

标签: java ternary-operator

这是我在Java中的三元条件。

new_user_id.equals(userid) && new_key.equals(key) && !new_value.equals(value) ? updateValue() : System.out.println("New value already exists in DB");

如果所有三个条件都成立,我尝试匹配三个条件并调用updateValue()函数。但仍然是它的投掷错误"作业的左侧必须是变量"。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

JLS-15.25. Conditional Operator ? :说(部分)

  

第二个或第三个操作数表达式是void方法的调用是编译时错误。

答案 1 :(得分:1)

三元运算符用于条件变量赋值或类似:

System.out.println("You have " + items + (items == 1 ? "item." : "items."));

因此,它必须返回一些东西。请改用if语句。