Por que o operador de incremento Java permite operações de restrição sem conversão explícita? [duplicado]
Duplicata Possível:
Operador Java + =
Em Java, isso não é válido (não compila), como esperado:
long lng = 0xffffffffffffL;
int i;
i = 5 + lng; //"error: possible loss of magnitude"
Mas isso está perfeitamente bem (?!)
long lng = 0xffffffffffffL;
int i = 5;
i += lng; //compiles just fine
Esta é obviamente uma operação de estreitamento, que pode possivelmente excederint
alcance. Então, por que o compilador não reclama?