根据规范
以下转换结合了加宽和收窄原始转换:
字节到字符
首先,通过加宽基元转换(第 5.1.2 节)将字节转换为 int,然后通过缩小基元转换(第 5.1.3 节)将生成的 int 转换为 char。
将字节文字扩大到 int 的转换不会改变文字。它强制扩展位,但不更改值或文字。那么这里有什么意义呢?JVM 可以直接将字节文字转换为 char 文字(当然是通过提供转换指令),而不是将字节转换为 int,然后将其转换为也需要转换指令的 char?
根据规范
以下转换结合了加宽和收窄原始转换:
字节到字符
首先,通过加宽基元转换(第 5.1.2 节)将字节转换为 int,然后通过缩小基元转换(第 5.1.3 节)将生成的 int 转换为 char。
将字节文字扩大到 int 的转换不会改变文字。它强制扩展位,但不更改值或文字。那么这里有什么意义呢?JVM 可以直接将字节文字转换为 char 文字(当然是通过提供转换指令),而不是将字节转换为 int,然后将其转换为也需要转换指令的 char?