小编רעי*_*שיץ的帖子

在java中如果"char c ='a'"为什么"c = c + 1"不能编译?

我试着编译以下代码:

public static void main(String[] args){
    for (char c = 'a'; c <='z'; c = c + 1) {
        System.out.println(c);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试编译时,它抛出:

错误:(5,41)java:不兼容的类型:从int到char的可能有损转换

关键是,它如果我写的工作c = (char)(c + 1),c += 1c++.

我检查并且编译器在我尝试时抛出了类似的错误,char c = Character.MAX_VALUE + 1;但我发现'c'的值不能在原始函数中传递'char'类型的最大值.

java casting compiler-errors char primitive-types

2
推荐指数
1
解决办法
88
查看次数

标签 统计

casting ×1

char ×1

compiler-errors ×1

java ×1

primitive-types ×1