如何用Java实现条件编译

在 C 或 C++ 中,可以通过预处理语句来实现条件编译。代码如下:

#define DEBUG  
#IFDEF DEBUUG  
  /* 
   code block 1 
   */   
#ELSE  
  /* 
   code block 2 
  */  
#ENDIF  

而Java中却没有预处理,宏定义这些东西,而有时在一些项目中,我们可能需要条件编译。那么,在 Java 中,该如何实现条件编译呢?
办法是有的:定义一个 final 的变量,然后在 if 语句用中它隔开代码。

public class Hello {  
    public static void main(String[] args) {  
        final boolean DEBUG = true;  
        if (DEBUG) {  
            System.out.println("Hello, world!");  
        }  else {
            // some code
        }
    }  
}  

因为编译器会对代码进行优化,对于条件永远为 false 的语句,Java 编译器将不会对其生成字节码。

posted on 2019-06-09 00:46  陈知许  阅读(1285)  评论(0编辑  收藏  举报

导航