&&= and ||= operators

Viewed 4064

Possible Duplicates:
Why doesn't Java have compound assignment versions of the conditional-and and conditional-or operators? (&&=, ||=)
Why does a “&&=” Operator not exist?

Today at work I wrote the following LOC (the real identities of b and b1 are confidential :)

b &&= b1; // meaning b = b && b1; 

I stared at it for a couple of seconds and realized that there exists no such operator. Just to be sure, I clicked on compile and it failed. To be dead sure I consulted the standard.

Are there specific reasons that there are no such operators? I can think of some:

  1. b &&= b1 and b = b && b1 may not be equivalent because of short-circuit evaluation of &&.
  2. &&= is ugly
  3. &&= is rarely needed

I do not claim that it would be very useful to have such operators, no. I also don't claim that any or all of the three above reasons are not enough to refrain from creating that operator. My question is the following: is there maybe a much more serious reason which I am overseeing?

6 Answers
Related