私はobjective-cとjavaの両方で動作します。前者では前処理ディレクティブにアクセスできるので、定義されていないときにはサイクルを使用しないデバッグ用の印刷文を定義できます。静的変数を持つブロックの場合
Javaは、私は、コンパイラは、このようなものをどのように処理するか興味があった能力を持っていないので:
public class MyClass {
private static final boolean DEBUG = false;
public void printMessage(String message) {
if (DEBUG) {
//sysout
}
}
}
PRINTMESSAGEへの各呼び出しは、パフォーマンスを低下させるのでしょうか、コンパイラはDEBUGが常に偽であることを認識し、補償します各呼び出し? 私が気付いていないこれを処理する良い方法はありますか?