在 C 或 C++ 中,能够经过预处理语句来实现条件编译。代码以下:java
#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 编译器将不会对其生成字节码。code