为什么会这样呢?
char c1 = 125;
为什么这是错误的?
char c2 = c1 + 1;
上面代码的正确方法应该是:
char c2 = (char)(c1 + 1);
我很迷惑。非常感谢你!
这是错误的,因为char
小于int
。在c1 + 1
将c1
被提升到一个int
被添加到1
。当您尝试将其放回char
Java中时,会抱怨,因为它无法保证anint
会适合char
-编辑-
如果char c = 123
该123
部分是已知的,那么java可以真正保证它将始终适合于char
。这也将起作用:
final char c0 = 123;
char c1 = c0 + 1;
还有这个:
final int i0 = 123;
char c1 = i0 + 1;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句