似乎由于某些原因删除了正确的答案:
(short) a + a等于
((short) a) + a,您在寻找
(short)(a + a)。
编辑
“为什么”背后却是运算符优先级,同样的原因,
1+ 2 * 3是
7与不是
9。是的,基元和文字被视为相同。
您无法执行此操作,
Short s = 1; s += 1;因为它与
a = a + 1;a转换为an
int而
int不能转换为的位置相同
Short。您可以像这样修复长版本:
a = (short) (a +1);,但是无法使用来进行显式转换
+=。



