Java之预定义

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控制。

相关推荐