java - 在java中将int转换为char

标签 java char int

下面是一段代码,

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,我该怎么办?

最佳答案

int a = 1;
char b = (char) a;
System.out.println(b);

将打印出带有 Unicode code point 的字符1(开头字符,不可打印;见下表:C0 Controls and Basic Latin,同ASCII)

int a = '1';
char b = (char) a;
System.out.println(b);

将打印出带有 Unicode 代码点 49 的字符(对应于 '1')

如果你想转换一个数字(0-9),你可以给它加上48并强制转换,或者类似Character.forDigit(a, 10);

如果您想将 int 转换为 Unicode 代码点,您可以使用 Character.toChars(48)例如。

关于java - 在java中将int转换为char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17984975/

相关文章:

python - 读取数据到 numpy 数组

java - com.google.gson.JsonPrimitive 无法转换为 com.google.gson.JsonObject

java - 在 Java 8 中,顺序且有序的 Stream 是否保证按遇到的顺序执行操作?

java - 如何以正确的方式处理超过锁定等待超时?

java - 我们如何使用 Java 8 将 List<Character> 转换为 Array char[]

c++ - 串行通信 - 我无法将传入的 char 数组转换为 int

java - HttpURLConnection 上的哪个方法向给定的 URL 发出请求

MySQL:使用 char(n) 与带有零填充的十进制(n)

c - 字符数组的大小和字符指针的大小

performance - 基准 : bigint vs int on PostgreSQL