java - java中如何将int转换为char?为什么它有效?如何防止信息丢失?

标签 java

我读了几篇关于将 int 转换为 char 的文章。但他们都没有详细回答我的问题。就像我想将 5 转换为“5”。这是缩小转换,因为 int 有 4 个字节,而 char 只有 2 个字节。我在这里有两个问题: 1. 为什么 (char)(a + '0') 可以成功将 a 转换为 char 而 (char)a 却失败? 2. 如何确保在转换过程中不会丢失任何信息?

最佳答案

  1. why (char)(a + '0') can convert a to char successfully while (char)a fails?

这是因为 a + '0' 相当于 a + 48,即 53。这对应于字符'5'
只需将 int5 转换为 char 就会创建一个不可打印的 char,这就是您所解释的不工作。

  1. 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/

相关文章:

java - 哪个类将hadoop源代码中的mapreduce作业连接到其数据集?

java - 从 Java 解析 Python 表达式

Java Junit4 测试; protected 方法

c# - 类变量是 UML 聚合吗?

java - REST Jersey 异常 AbstractJAXBProvider

java - 将对象存储在对象数组中

java - 当我没有 main 方法时我的程序如何运行

java - chars 在 Java 中有内在的 int 值吗?

java - PaintComponent 自己进行绘画

java - 如何并行运行任务并在第一个任务失败时等待第二个任务,否则回复并让第二个任务运行