在C/C++中,我們可以使用#ifndef RELEASE #endif
包括調試源,如一些額外的測試和/或控制檯打印和等的Java調試/開發模式
有沒有辦法做到這一點在Java或任何similiar選擇嗎?
在C/C++中,我們可以使用#ifndef RELEASE #endif
包括調試源,如一些額外的測試和/或控制檯打印和等的Java調試/開發模式
有沒有辦法做到這一點在Java或任何similiar選擇嗎?
您可以添加static final boolean
變量,然後使用簡單的if
語句。
如果編譯器可以確定表達式是false
那麼它不會將條件編譯到您的代碼中。
+1今天我學到了很酷的東西。這對任何版本的編譯器都適用嗎?我的意思是它在JLS – Jerome
至少Oracle/Sun編譯器是這樣做的。我不知道自哪個版本,但至少最近編譯器(> 1.4)做到了。 –
@Jerome它不在JLS中,因爲它只是一個編譯器優化。 –
做到這一點將是一個不好的破解。日誌記錄應該通過具有不同日誌級別的可配置日誌記錄機制完成。測試應該在單元測試中完成。 – Kai