Java:JLS第5.2节分配转换

Java:JLS第5.2节分配转换,java,type-conversion,implicit-conversion,Java,Type Conversion,Implicit Conversion,这是我之前问题的后续(我没有得到任何回应)。来了 如果我严格遵守JLS第5.2节中规定的规则,则以下操作应失败 Byte b = 2; 它应该失败了,因为这里正在进行2次转换。首先是从int到字节的隐式缩小转换和从字节到字节的自动装箱。它在这里执行2次转换 那么为什么它没有失败呢 JLS第5.2节中规定的规则不允许在此进行2转换。此引用来自: 可能需要先进行缩小原语转换,然后进行装箱转换 如果变量的类型为: 字节和常量表达式的值可在 键入byte 这显然适用于此处。此引用自: 可能需要先进

这是我之前问题的后续(我没有得到任何回应)。来了

如果我严格遵守JLS第5.2节中规定的规则,则以下操作应失败

Byte b = 2;
它应该失败了,因为这里正在进行2次转换。首先是从int到字节的隐式缩小转换和从字节到字节的自动装箱。它在这里执行2次转换

那么为什么它没有失败呢

JLS第5.2节中规定的规则不允许在此进行2转换。

此引用来自:

可能需要先进行缩小原语转换,然后进行装箱转换 如果变量的类型为:

  • 字节和常量表达式的值可在 键入byte
这显然适用于此处。

此引用自:

可能需要先进行缩小原语转换,然后进行装箱转换 如果变量的类型为:

  • 字节和常量表达式的值可在 键入byte
这显然适用于这里