Java中的条件编译(转)

本文详细介绍了如何在Java中模仿C/C++中的#ifdef...#endif预编译宏,通过利用Java编译器的优化机制,仅在特定条件下编译和执行代码,从而达到类似的效果。

源:Java中的条件编译

一直以来,不知道怎么在Java中实现像C/C++一样的#ifdef...#endif这样的预编译宏,致使Java代码中一直用if判断,刚好刚才看到了解决办法,记录一下。

C/C++中使用#ifdef...#endif的代码,如果不满足条件,编译器是不会对这部分代码进行编译的。但是Java中没有宏定义啊,怎么办呢?

其实在Java中也有解决办法。

Java编译器优化机制中有这么一条:对于条件表达式中永远为false的语句,编译器将不对条件覆盖的代码段生成字节码。

例如:

final boolean debug = false;  
  if(debug){  
    printf("I'm in debug mode!");  
  }  

注意上面条件debug必须是final类型的。这样条件中的代码就不会编译成字节码了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值