可能性の重複:(なぜJavaインクリメント演算子は明示的キャストなしで絞り込み操作を許可しますか?
long lng = 0xffffffffffffL; int i; i = 5 + lng; //"error: possible loss of magnitude"
しかし、これは完全に罰金です:Javaでは
Java += operator
、予想通りこれは、(コンパイルされません)有効ではありません?!)
long lng = 0xffffffffffffL;
int i = 5;
i += lng; //compiles just fine
これは明らかに絞り込み操作で、int
の範囲を超える可能性があります。だから、コンパイラはなぜ不平を言っていないのですか?
と同等です。 –