C语言中可以使用编译开关来选择不同的代码,如
int main() { #ifdef PART_A printf("Part A\n"); #else printf("Part B\n"); #endif return 0; }
如果希望打印出"Part A",就定义 PART_A 这个编译开关,否则就会打印出 "Part B"。
可是Java没有C语言的编译开关怎么办?
可以用下面的这个方法试试(via:zhongwang "java的编译开关")
public static void main(String[] args) { //* {// Part A System.out.println("Part A"); } /*/ {// Part B System.out.println("Part B"); } //*/ }
上面的代码将输出 "Part A"。
如果将第2行的 //* 删去第一个/,成为 /*,就会输出 "Part B",如下
public static void main(String[] args) { /* {// Part A System.out.println("Part A"); } /*/ {// Part B System.out.println("Part B"); } //*/ }
在简单的代码里面这么搞没问题,但是复杂点儿的项目估计就不好搞了。
谁有更好的办法?