Why don't Java's +=, -=, *=, /= compound assignment operators require casting?
Asked 07 September, 2021
Viewed 977 times
  • 64
Votes

Until today, I thought that for example:

i += j;

Was just a shortcut for:

i = i + j;

But if we try this:

int i = 5;
long j = 8;

Then i = i + j; will not compile but i += j; will compile fine.

Does it mean that in fact i += j; is a shortcut for something like this i = (type of i) (i + j)?

11 Answer