【发布时间】:2015-03-01 18:30:30
【问题描述】:
您好,我正在尝试从 char 中减去 int,但我一直被告知编译器“无法从 int 转换为 char”。 我尝试将常量更改为 char,但没有帮助。
有没有简单的方法来做这个减法?
test[1] = characterArray[1] - ASCII_SUB;
任何帮助将不胜感激。
【问题讨论】:
-
将
ASCII_SUB转换为char。
您好,我正在尝试从 char 中减去 int,但我一直被告知编译器“无法从 int 转换为 char”。 我尝试将常量更改为 char,但没有帮助。
有没有简单的方法来做这个减法?
test[1] = characterArray[1] - ASCII_SUB;
任何帮助将不胜感激。
【问题讨论】:
ASCII_SUB 转换为char。
问题是在Java 中从不对char 值执行减法。相反,两个操作数都被提升为int(通过binary numeric promotion),减法的结果也是int。所以你需要将结果转换回char:
test[1] = (char) (characterArray[1] - ASCII_SUB);
【讨论】: