2015-03-31 37 views

回答

2

因为Java Language Specification是这么说的

一元数值提升(§5.6.1)的操作数执行。一元逐位补码表达式的类型 是操作数 的升级类型。

and

否则,如果操作数是编译时类型的byteshort,或者 char,它是由一个扩大原始 转换晋升为int类型的值(§5.1 0.2)。

int类型的值不能分配给类型为byte的变量。

+0

多么奇怪的规则。我会在〜11110101分钟内接受答案。 – 2015-03-31 05:08:03

相关问题