Java 三元运算符给出;不是一份声明”;错误
下面的Hi语句抛出错误。上面写着“不是陈述”Java 三元运算符给出;不是一份声明”;错误,java,Java,下面的Hi语句抛出错误。上面写着“不是陈述” 是否需要将返回值存储在语句左侧的某个变量中?您使用的是三元操作符作为语句,而不是赋值。在您的情况下,您应该使用if-else if(map.containsKey(1)) { someObject.setFlag(true) }else{ map.put(1,"hello"); } 这是三值运算符的java。三值运算符是一个表达式,而不是一个语句。它通常用于根据某些条件设置变量的值。在这种情况下,需要将结果分配给变量,以便将其转换为
是否需要将返回值存储在语句左侧的某个变量中?您使用的是
三元操作符作为语句,而不是赋值。在您的情况下,您应该使用if-else
if(map.containsKey(1)) {
someObject.setFlag(true)
}else{
map.put(1,"hello");
}
这是三值运算符的java。三值运算符是一个表达式,而不是一个语句。它通常用于根据某些条件设置变量的值。在这种情况下,需要将结果分配给变量,以便将其转换为语句:
String result = map.containsKey(1) ? someObject.setFlag(true) : map.put(1,"hello");
(注意:应选择更好的变量名。)
我认为您在这里仍然会遇到问题,因为setFlag()
可能不会返回字符串。此外,由于您正在创建副作用,因此应使用if
语句替换此语句。您缺少分号。p、 您可以将map.containsKey(1)=true
减少到map.containsKey(1)
。尝试map.containsKey(1)
。您不需要将布尔值与true进行比较。这已经不是真的就是假的了。也没有如上所述的分号。添加了分号并仅使用map.containsKey(1)进行了尝试。。还是没有work@JaredStewart尽管这个问题是相关的,但我认为这里的答案没有帮助,因为解决方案是使用if
语句。
String result = map.containsKey(1) ? someObject.setFlag(true) : map.put(1,"hello");