2

我知道我提出了一个非常愚蠢的问题,但我保证我确实尝试过搜索设置以及谷歌和网络,但没有运气,所以我想我应该问一下。

我在很多开源项目中看到以下行:

if(DEBUG){
    //  do some logging
}

我完全理解这条线在做什么,我似乎无法重复它。代码中没有任何地方的声明boolean DEBUG;,我无法在项目属性上找到一个位置来定义要在编译时替换的系统范围变量(转换为字节码)。据我所知,如果它是对应该是Log.DEBUG或类似的类常量的引用。

谁能帮我解开这个谜?谢谢。

4

2 回答 2

3

你真的应该看看类的导入部分。

它可能是静态导入,如下所示:


爪哇

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 field,查看import列表并选择原始类,或者使用 Eclipse 中的内联帮助,如评论中所述

于 2012-10-04T14:28:01.720 回答