Java解决方案用于C风格的编译器指令

我有一个 Java数组:
String[] myArray = {"1","2"};

根据编译时已知的条件,我想分配不同的值:

String[] myArray = {"A","B","C"};

在C中我会使用类似的东西

#ifdef ABC
  // ABC stuff here
#else
  // 123 stuff here
#endif

但是在Java中怎么办?

解决方法

class Foo {

   static final boolean ABC = true;

   public void someMehod() {
       if (ABC) {  // #ifdef ABC

       } else {    // #else

       }           // #endif
   } 
}

由于ABC既是静态的,也是最终的,编译器在编译时对其进行评估,有效地像预处理器那样执行.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...