Is there a post-assignment operator for a boolean?

后端 未结 3 1040
暗喜
暗喜 2021-01-29 16:31

Hi is something like this possible in Java?

boolean flag = true;
if(flag) return flag = false; // return true and assign false to flag afterwards
3条回答
  •  余生分开走
    2021-01-29 17:24

    No, there's nothing built-in that does what you describe. You'd do it with a temporary variable:

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

    Or based on your further edit to the question ("The structure looks something like this"), you can use !:

    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);
    

    I really, really would not do that. It's unnecessarily obtuse.

提交回复
热议问题