关于Why i am getting type mismatch: cannot convert from int to byte,我尝试在JLS中进行快速搜索,以找到提到的byte
操作数之间加法的结果自动扩展为int
的位置。
我发现的最好的是这个tutorial,但是在JLS中我什么都没找到。
Conversions章没有提及任何关于加法运算符的内容,至少我找不到任何东西。 Additive Operators paragraph没有提到字节的自动扩展。它提到了the type of each of the operands of the binary - operator must be a type that is convertible (§5.1.8) to a primitive numeric type
,但没有涉及扩大。字节是numeric数据类型。
我想念什么?
最佳答案
您快到了,它在15.18.2中:
对操作数(第5.6.2节)执行二进制数值提升。
关于java - 如果JLS的操作数为较小类型,则JLS在哪里指定加法的结果为int?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16633949/