And*_*Bie 5 .net java android const equivalent
我有一个项目,其中有许多代码仅在确定的版本中可用,当我修复错误时,我必须在所有副本中修复它们.这很不方便.
是否有任何#IF与#CONST在Java中,如果#IF条款是假的,代码不会被编译?
Java没有"官方"预处理器,也没有广泛使用的第三方预处理器.
但是,如果您愿意忍受IDE和许多其他工具无法正确处理它的障碍,那么没有什么能阻止您在代码中使用任何预处理器.
话虽这么说,你通常也不需要Java.您宁愿提供公共接口(或扩展公共基类的类)的多个实现,并在运行时选择它们.
但是,通过使用编译时常量布尔标志,有一种有限形式的条件编译:
static final DEBUG = false;
public void frobnicate() {
if (DEBUG) {
doExpensiveFrobnicationDebugOperation();
}
doActualFrobnication();
}
Run Code Online (Sandbox Code Playgroud)
此代码将导致昂贵的方法调用未编译到生成的.class文件的字节码中.
| 归档时间: |
|
| 查看次数: |
1675 次 |
| 最近记录: |