将 int 添加到 short 中
- 论坛
- 将 int 添加到 short 中
17 浏览
将 int 添加到 short 中
这个问题已经有了答案:
我的同事向我提出了这个问题,让我有点困惑。
int i = 123456; short x = 12;
这个语句
x += i;
能够编译通过,然而
x = x + i;
却不能。
Java在这里做了什么?
admin 更改状态以发布 2023年5月23日
匿名的
0 Comments
int i = 123456; short x = 12; x += i;
实际上是
int i = 123456; short x = 12; x = (short)(x + i);
而x = x + i
只是x = x + i
。它不会自动转换为short
类型,因此会导致错误(x + i
的类型是int
)。
形式为
E1 op= E2
的复合赋值表达式等价于E1 = (T)((E1) op (E2))
,其中T
是E1
的类型,除了只对E1
求值一次外。