下面是一段代码,
int a = 1;
char b = (char) a;
System.out.println(b);
但我得到的是空输出。
int a = '1';
char b = (char) a;
System.out.println(b);
我将得到 1 作为我的输出。
有人可以解释一下吗?如果我想像第一个片段那样将 int 转换为 char,我应该怎么做?
原文由 user2640480 发布,翻译遵循 CC BY-SA 4.0 许可协议
下面是一段代码,
int a = 1;
char b = (char) a;
System.out.println(b);
但我得到的是空输出。
int a = '1';
char b = (char) a;
System.out.println(b);
我将得到 1 作为我的输出。
有人可以解释一下吗?如果我想像第一个片段那样将 int 转换为 char,我应该怎么做?
原文由 user2640480 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
将打印出带有 Unicode 代码点 1 的字符(标题开始字符,不可打印;请参阅此表: C0 Controls and Basic Latin ,与 ASCII 相同)
将打印出带有 Unicode 代码点 49 的字符(一个对应于“1”)
如果你想转换一个数字 (0-9),你可以加 48 并转换,或者像
Character.forDigit(a, 10);
。如果要将
int
转换为 Unicode 代码点,您可以使用Character.toChars(48)
例如。