重複の可能性:
Java += 演算子
Java では、予想どおり、これは有効ではありません (コンパイルされません)。
long lng = 0xffffffffffffL;
int i;
i = 5 + lng; //"error: possible loss of magnitude"
でもこれで全然平気(?!)
long lng = 0xffffffffffffL;
int i = 5;
i += lng; //compiles just fine
これは明らかに縮小操作であり、範囲を超える可能性がありint
ます。では、なぜコンパイラは文句を言わないのでしょうか?