【发布时间】:2014-03-25 09:26:11
【问题描述】:
我知道Java的自动类型转换可以用一种叫做“拓宽路径”的东西来概括,它看起来像这样:
byte -> short -> int -> long -> float -> double
以下代码编译正常,并说明了一些 char/int 转换:
char c = '1';
int i = c; // char to int
// char to int, and vice versa
switch (c) {
case 1:
}
switch (i) {
case '1':
}
鉴于上述所需的转换,为什么 char 类型没有出现在 Java 的拓宽路径上?谢谢。
【问题讨论】:
-
部分原因是
char是无符号的,因此在某种意义上比short更窄。
标签: java type-conversion