如何在界面中使用Java ENUM?

Cli*_*ote 0 java enums

我想在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.DevelopmentConfig.Production(我希望在Config枚举的构造函数本身中确定并让它选择正确的字段集)

SLa*_*aks 8

你在滥用枚举.

每个枚举成员都可以实现为覆盖事物的匿名类:

public enum Config {
    DEVELOPMENT {
        @Override
        ...
    },
    PRODUCTION {
        @Override 
        ...
    };

    public abstract ...;
}
Run Code Online (Sandbox Code Playgroud)