Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 三元运算符给出;不是一份声明”;错误_Java - Fatal编程技术网

Java 三元运算符给出;不是一份声明”;错误

Java 三元运算符给出;不是一份声明”;错误,java,Java,下面的Hi语句抛出错误。上面写着“不是陈述” 是否需要将返回值存储在语句左侧的某个变量中?您使用的是三元操作符作为语句,而不是赋值。在您的情况下,您应该使用if-else if(map.containsKey(1)) { someObject.setFlag(true) }else{ map.put(1,"hello"); } 这是三值运算符的java。三值运算符是一个表达式,而不是一个语句。它通常用于根据某些条件设置变量的值。在这种情况下,需要将结果分配给变量,以便将其转换为

下面的Hi语句抛出错误。上面写着“不是陈述”


是否需要将返回值存储在语句左侧的某个变量中?

您使用的是
三元操作符作为
语句,而不是
赋值。在您的情况下,您应该使用
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");