在JAVA中将char转换为int时,为什么不需要强制转换?

时间:2015-03-23 15:09:34

标签: java casting

在Java中,我知道你可以将char转换成这样的int:

int c = (int) msg.charAt(i);

但为什么这也没有错误:

int c = msg.charAt(i);

该函数返回一个int,因此在使用它之前必须将它“强制转换”为int。

DUPLICATE:虽然答案是:Why are we allowed to assign char to a int in java?,但这个问题略有不同。因为我没有问为什么我们可以将一个字符分配给一个int,而是我在问为什么不需要演员表。我建议对谷歌上的人保持开放,即使答案相同!

1 个答案:

答案 0 :(得分:1)

String.charAt返回charcharint是一个扩展的原始转换(参见JLS 5.1.2),这种类型的转换不会丢失信息,所以它不需要显式转换