这是 Java 语言的代码片段:
public void name(){
int value = 9;
int o;
if(value > 9)
o = 5;
if(value <= 9)
o = 8;
System.out.println(o);
}
考虑到值的最后一个选项,为什么编译器看不到第二个 if 语句? 它不会编译。 最好的问候
最佳答案
除非您另有说明,否则编译器必须将value
视为可变的。声明它 final
fixes the problem :
public void name(){
final int value = 9;
int o;
if(value > 9) o = 5;
if(value <= 9) o = 8;
System.out.println(o);
}
关于java - 编译器看不到的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12936542/