#如果在java中,就像在c预处理器

可能重复:
如何标记java代码,使其不被编译

在c中 ,我们可以防止像这样编译块代码:

#if 0 //code here #endif 

所以,即使代码块容易出错代码编译,我想要在Java中相同的东西,所以我可以跳过那部分代码,因为一些库丢失,不会编译。

谁能帮我 ?

Solutions Collecting From Web of "#如果在java中,就像在c预处理器"

你必须注释掉代码 ,你不能在java中使用预处理指令。

Java中没有预处理器。 根据您的构build系统,您可以使用第三方预处理器(通过search“java预处理器”可以find大量的预处理器)。 一些例子是

  • 预处理器-java的
  • Java的注释-预处理
  • javapp
  • prebop

根据您想要注释的范围,您可以使用块注释,有时也可以使用类似的注释

 if (false) { . . . } 

如果一切都失败了,只需使用//注释掉每一行。 大多数IDE都可以有效地执行此操作(并将其撤消)。

我假设编译器将剥离强制使用常量/最终标志块内的代码? 这就是你如何将代码留在你的项目中,而不是在最终的apk中发货。

 public final static boolean DEBUG = false; if(DEBUG) { //add messy error prone code here //compiler will strip this out as unreachable when false } 

在这里阅读:

http://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.21

Java没有沿C的预处理器。

由于根据标签,您正在使用Eclipse,因此您可以简单地标记要注释的整个代码块,然后使用CTRL - /

您也可以使用相同的键序列来取消注释已经注释掉的块。

我使用的一种技术是使用m4作为java文件的预处理器。 你在classname.java.m4编写代码,并使用Makefile或其他编译系统规则运行m4:

 %: %.m4 @echo "/* automatically generated from $< -- don not edit*/" >$@ m4 $< >>$@ 

java不提供预处理器的function。

顺便说一句,你可以使用评论如下:

您正在使用Eclipse,您可以简单地标记要注释的整个代码块,然后使用CTRL + SHIFT + C进行注释和取消注释代码块。