【发布时间】:2018-11-12 10:54:55
【问题描述】:
我尝试编译以下代码:
public static void main(String[] args){
for (char c = 'a'; c <='z'; c = c + 1) {
System.out.println(c);
}
}
当我尝试编译时,它会抛出:
错误:(5, 41) java: 不兼容的类型: 可能的有损转换 int转char
问题是,如果我写 c = (char)(c + 1)、c += 1 或 c++,它确实有效。
我检查过,当我尝试char c = Character.MAX_VALUE + 1; 时编译器会抛出类似的错误,但我认为'c' 的值无法在原始函数中传递'char' 类型最大值。
【问题讨论】:
标签: java casting compiler-errors char primitive-types