在 JAVA 中将 char 转换为 int 时,为什么不需要转换?
When converting a char to a int in JAVA, why is no cast necessary?
在 Java 我知道你可以像这样将 char 转换为 ints:
int c = (int) msg.charAt(i);
但为什么这也没有错误:
int c = msg.charAt(i);
函数 returns 是一个整数,所以在使用它之前肯定需要 "cast" 到一个整数。
DUPLICATE:尽管 Why are we allowed to assign char to a int in java? 给出了答案,但问题略有不同。因为我不是在问为什么我们可以将 char 分配给 int,而是在问为什么不需要强制转换。我建议对 Google 上的人保持开放,即使答案相同!
String.charAt
returnschar
。 char
到 int
是一个扩大的原始转换(参见 JLS 5.1.2),这种类型的转换不会丢失信息,因此不需要显式转换
在 Java 我知道你可以像这样将 char 转换为 ints:
int c = (int) msg.charAt(i);
但为什么这也没有错误:
int c = msg.charAt(i);
函数 returns 是一个整数,所以在使用它之前肯定需要 "cast" 到一个整数。
DUPLICATE:尽管 Why are we allowed to assign char to a int in java? 给出了答案,但问题略有不同。因为我不是在问为什么我们可以将 char 分配给 int,而是在问为什么不需要强制转换。我建议对 Google 上的人保持开放,即使答案相同!
String.charAt
returnschar
。 char
到 int
是一个扩大的原始转换(参见 JLS 5.1.2),这种类型的转换不会丢失信息,因此不需要显式转换