我对Java的数据类型感到困惑。

丹尼

为什么会这样呢?

char c1 = 125;

为什么这是错误的?

char c2 = c1 + 1;

上面代码的正确方法应该是:

char c2 = (char)(c1 + 1);

我很迷惑。非常感谢你!

单细胞

这是错误的,因为char小于intc1 + 1c1被提升到一个int被添加到1当您尝试将其放回charJava中时,会抱怨,因为它无法保证anint会适合char

-编辑-

如果char c = 123123部分是已知的,那么java可以真正保证它将始终适合于char这也将起作用:

final char c0 = 123;
char c1 = c0 + 1;

还有这个:

final int i0 = 123;
char c1 = i0 + 1;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章