首页 > 解决方案 > 为什么字节到字符的转换需要int加宽转换

问题描述

根据规范

以下转换结合了加宽和收窄原始转换:

字节到字符

首先,通过加宽基元转换(第 5.1.2 节)将字节转换为 int,然后通过缩小基元转换(第 5.1.3 节)将生成的 int 转换为 char。

将字节文字扩大到 int 的转换不会改变文字。它强制扩展位,但不更改值或文字。那么这里有什么意义呢?JVM 可以直接将字节文字转换为 char 文字(当然是通过提供转换指令),而不是将字节转换为 int,然后将其转换为也需要转换指令的 char?

标签: javaimplicit-conversionexplicit-conversion

解决方案


推荐阅读