一尘不染

是否有布尔值的后赋值运算符?

java

嗨,在Java中这样的事情是可能的吗?

boolean flag = true;
if(flag) return flag = false; // return true and assign false to flag afterwards

澄清。上面的作品,但首先分配false。我想要实现的是尽快将其返回并随后将其true重置false

结构看起来像这样:

boolean flag = false;
// some operations which can set the flag true
if(flag){ flag = false ; return true};
// some operations which can set the flag true
if(flag){ flag = false ; return true};
// some operations which can set the flag true
if(flag){ flag = false ; return true};

我当时正打算一次过 return flag = false;


阅读 267

收藏
2020-12-03

共1个答案

一尘不染

不,没有内置功能可以满足您的描述。您可以使用一个临时变量来完成此操作:

boolean flag = true;
boolean returnValue = flag;
flag = false;
return returnValue;

或者根据您对问题的 进一步 编辑( “结构看起来像这样”) ,可以使用!

boolean flag = false;
// some operations which can set the flag true
if(flag) return !(flag = false);
// some operations which can set the flag true
if(flag) return !(flag = false);
// some operations which can set the flag true
if(flag) return !(flag = false);

真的,真的不会那样做 。不必要的钝。

2020-12-03