当我编译时:
public static final boolean FOO = false;
public static final void fooTest() {
if (FOO) {
System.out.println("gg");
}
}
我得到一个空方法fooTest() {}
。但是,当我编译时:
static boolean isBar = false;
public static final boolean BAR = isBar;
public static final void fooTest() {
if (BAR) {
System.out.println("gg");
}
}
if 语句包含在编译的类文件中。这是否意味着java中有两种不同的静态final“类型”,或者这只是编译器优化?