2

私はかなりばかげた質問を投げかけていることを知っていますが、設定やグーグルやウェブの周りを検索しようとしたが運がなかったと約束するので、聞いてみるべきだと思います.

かなりの数のオープンソース プロジェクトで、次の行を見ました。

if(DEBUG){
    //  do some logging
}

私はラインが何をしているのかを完全に理解していますが、それを繰り返すことはできないようです. コードのどこにも宣言がboolean DEBUG;なく、コンパイル時に (バイト コードに) 置き換えられるシステム全体の変数を定義するプロジェクト プロパティの場所がわかりませんでした。そして、私が知る限り、それがクラス定数への参照である場合、それは想定されていたLog.DEBUGか、または同様のものでした。

誰かこの謎を解いてくれませんか? ありがとう。

4

2 に答える 2

3

クラスの import セクションを確認する必要があります。

おそらく、次のような静的インポートです。


A.java

public class A {
    public static boolean DEBUG = false;
}

B.java

import static A.DEBUG;

public class B {
  public void myMethod() {
    if (DEBUG) {
      // do something
    }
  }
}
于 2012-10-04T18:47:45.283 に答える
0

の前にいます。リストをpublic static fieldimportて元のクラスを選択するか、コメントで述べたように Eclipse のインライン ヘルプを使用します。

于 2012-10-04T14:28:01.720 に答える