【发布时间】:2014-08-27 19:07:17
【问题描述】:
为什么
char ch = '4';
ch = '4' + 2;
工作,但是
char ch = '4';
ch = ch + 2;
没有?
【问题讨论】:
-
提示:第一种情况是一个常数值。第二个不是。
-
特别是,请参阅docs.oracle.com/javase/specs/jls/se8/html/jls-5.html#jls-5.2" 如果变量的类型是 byte、short 或 char,并且常量表达式的值可以表示为变量。” - 如果我有时间正确地做,会添加这个作为答案。
-
This answer 可能会有所帮助。
-
实际上你甚至不能添加一个字符和一个字符。例如,
ch = ch + ch;无法编译。原因见上面链接的q。
标签: java