1
您好我想从一个字符中减去一个int,但我一直被告知编译器“无法从int转换为char”。 我已经尝试将常量改为char,但它没有帮助。如何从一个字符中减去一个数字(int)
有没有简单的方法来做这种减法?
test [1] = characterArray [1] - ASCII_SUB;
任何帮助将不胜感激。
您好我想从一个字符中减去一个int,但我一直被告知编译器“无法从int转换为char”。 我已经尝试将常量改为char,但它没有帮助。如何从一个字符中减去一个数字(int)
有没有简单的方法来做这种减法?
test [1] = characterArray [1] - ASCII_SUB;
任何帮助将不胜感激。
问题是减法是从来没有在char
值执行Java。相反,两个操作数都被提升为int
(通过binary numeric promotion),并且减法的结果也是int
。因此,您需要将结果重新输入到char
:
test[1] = (char) (characterArray[1] - ASCII_SUB);
@anoyd_bi_me_grammers:什么? –
将'ASCII_SUB'强制转换为'char'。 – apnorton