¿Por qué los operadores de asignación compuesta de Java + =, - =, * =, / = requieren conversión?
Hasta hoy, pensé que, por ejemplo:
i += j;
Era solo un atajo para:
i = i + j;
Pero si intentamos esto:
int i = 5;
long j = 8;
Luegoi = i + j;
no compilará peroi += j;
compilará bien.
¿Significa que de hechoi += j;
es un atajo para algo como estoi = (type of i) (i + j)
?