我想在Java中使用Enum来存储不同环境的配置值.每个枚举将具有相同的字段,但值不同.就像是:
public enum DevelopmentConfig
{
URL("..."),
defaultURL(".....");
}
public enum ProductionConfig
{
URL("..."),
defaultURL(".....");
}
Run Code Online (Sandbox Code Playgroud)
这是一个Web应用程序,所以我不能简单地使用Preferences或任何其他解决方案.
我的问题是,有没有办法创建一个界面来定义配置的字段?或者我应该使用普通class而不是enum存储这些值?
编辑:要使用它,我只想从其他类中执行此操作:
String url = Config.URL
Run Code Online (Sandbox Code Playgroud)
要么
String url = Config.getURL();
Run Code Online (Sandbox Code Playgroud)
不知道是否引用Config.Development或Config.Production(我希望在Config枚举的构造函数本身中确定并让它选择正确的字段集)
你在滥用枚举.
每个枚举成员都可以实现为覆盖事物的匿名类:
public enum Config {
DEVELOPMENT {
@Override
...
},
PRODUCTION {
@Override
...
};
public abstract ...;
}
Run Code Online (Sandbox Code Playgroud)