TreasureZ 2020-05-29
作为Java初学者的我,提供一个类似C#的预处理机制。若有不足之处,敬请各位大佬指正(感觉没有,哈哈哈哈哈哈)!
Java 没有类似 C++的宏,也没有类似C#的预定义 #if...#endif
C#里的预定义使用方式有两步如下:
A、在C#使用预定义时,一般可以在项目属性的【生成】--【常规】--【条件编译符号】处指定该变量,或者使用#define。
B、再在使用处使用#if……#endif
Java官方没有提供类似的机制。
鄙人,有个办法:在项目中添加一常量类,存储本系统用到常量,在此处设立一个标志,相当于C#里A步操作。
型如:
public static final String ExtraName_NotificationFromWifi = "Noti_FromWiFi";
再在需要使用的地方使用
if (Constants.ExtraName_NotificationFromWifi == "XXXX")来判断,以实现类似C#里的B步操作
如果要实现类似C#里#if……#elif……#else……#endif多条件操作,可以先定义一个枚举,然后再使用Swith方式,形如
public static final EnumNotificationType NOTIFICATION_TYPE = EnumNotificationType.FromWifi;public enum EnumNotificationType{ FromWifi, FromNet ……}在其他要使用预定义的地方使用Switch控制。