我读了几篇关于将 int 转换为 char 的文章。但他们都没有详细回答我的问题。就像我想将 5 转换为“5”。这是缩小转换,因为 int 有 4 个字节,而 char 只有 2 个字节。我在这里有两个问题: 1. 为什么 (char)(a + '0') 可以成功将 a 转换为 char 而 (char)a 却失败? 2. 如何确保在转换过程中不会丢失任何信息?
最佳答案
- why (char)(a + '0') can convert a to char successfully while (char)a fails?
这是因为 a + '0'
相当于 a + 48
,即 53
。这对应于字符'5'
。
只需将 int
值 5
转换为 char
就会创建一个不可打印的 char
,这就是您所解释的不工作。
- How to make sure no information get lost in this conversion?
您可以使用Character.MAX_VALUE
检查a
中的值是否足够小以适合char
.
关于java - java中如何将int转换为char?为什么它有效?如何防止信息丢失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26089158/