您好我试图从char中减去一个int,但我一直被告知编译器"无法从int转换为char"。 我已经尝试将常量更改为char但它没有帮助。
有没有简单的方法来做这个减法?
test [1] = characterArray [1] - ASCII_SUB;
任何帮助都将不胜感激。
答案 0 :(得分:3)
问题是在Java中对char
值执行从不执行减法操作。相反,两个操作数都被提升为int
(通过binary numeric promotion),减法的结果也是int
。因此,您需要将结果转回char
:
test[1] = (char) (characterArray[1] - ASCII_SUB);