在 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