2

次の項目を確認してください。

byte a=1, b=2;  b+=a;

完全に合法です。その間、

byte a=1, b=2;  b=b+a;

許可されていません。これらはどちらも同等と見なされますが。割り当ての 2 つの方法のメカニズムに違いはありますか?

4

1 に答える 1

1

言語仕様から:

E1 op= E2 の形式の複合代入式は、E1 = (T)((E1) op (E2)) と同等です。ここで、T は E1 の型ですが、E1 は 1 回だけ評価されます。

これは、単に ではなく、b+=aと同等であることを意味します。後者はまだ へのキャストが必要です。(byte)(a+b)a+bbyte

于 2013-06-22T12:52:28.003 に答える