以下は私のコードのスニペットです:
class A {
private boolean debug = false;
// Called when server boots up.
public void init (property) {
debug = property.getBoolean ("debug_var"); // read debug from a config file.
}
// some other function
public void foo () {
if (debug) {
System.out.println ("From inside the debug block");
}
}
}
コードを実行すると、if (debug) が実際に「From inside debug block」を出力する if debug == true が構成ファイルに表示されます。
2 つの質問:
では、この場合、変数 debug の値が実行時に変更される可能性があるという理由だけで、コンパイラは if ブロックを .class ファイルに含めますか?
これが正しい場合、特定の環境で一部のコードが .class ファイルに追加されないようにするにはどうすればよいですか?