【发布时间】:2020-12-04 11:27:30
【问题描述】:
JLS 声明数字提升应用于算术运算符的操作数。
数值提升应用于算术运算符的操作数。 数字提升上下文允许使用: 身份转换(§5.1.1) 扩大的原始转换(§5.1.2) 拆箱转换 (§5.1.8)
但是,根据我的经验,我发现数字提升也适用于其他运算符的操作数,例如位运算符。我发现this 指出
当使用乘法运算符(%、*、/)、加法运算符(+、-)、比较运算符(、=)、相等运算符(==、!=)时,可能会发生这些转换) 和整数位运算符(&、|、^)。
所以我错过了什么?
编辑:其他未列出的运算符如 &&、||、>>、>> 等呢?
编辑2:正如@Turing85 和@Stephen C 所指出的,这个问题只对JLS 5 到11 有效,现在已经解决了。
【问题讨论】:
-
目前尚不清楚您所引用的 JLS 版本。 Java 14 JLS list all those operators under §5.6.
-
@Turing85 你是对的......我指的是旧的。谢谢!
标签: java type-conversion jls type-promotion