这是我在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()函数。但仍然是它的投掷错误"作业的左侧必须是变量"。有什么想法吗?
答案 0 :(得分:1)
JLS-15.25. Conditional Operator ? :
说(部分)
第二个或第三个操作数表达式是void方法的调用是编译时错误。
答案 1 :(得分:1)
三元运算符用于条件变量赋值或类似:
System.out.println("You have " + items + (items == 1 ? "item." : "items."));
因此,它必须返回一些东西。请改用if
语句。