如何从枚举类型的属性文件中读取值?

时间:2011-12-19 09:51:42

标签: java enums properties

我有一个枚举如下:

public enum EnvironmentType {PRODUCTION, TEST, DEVELOPMENT}
属性文件中的

键值如下:

app.environmentType = TEST

我们知道当我使用key从属性文件中读取值时,它将返回String,如

String envType = properties.getProperty("app.environmentType");

我的要求是,

EnvironmentType envType = EnvironmentType.TEST;

现在我想知道有没有办法让价值为enum类型?我该如何parsecast呢?

2 个答案:

答案 0 :(得分:3)

EnvironmentType envType =   EnvironmentType.valueOf(envTypeString);

答案 1 :(得分:3)

您可以使用valueOf方法,如下所示:

String envTypeStr = properties.getProperty("app.environmentType");
EnvironmentType envType = EnvironmentType.valueOf(envTypeStr);

静态方法valueOf()values()是在编译时创建的,不会出现在源代码中。但它们出现在java库中的某些创建文档中。例如,请参阅SortOrderNormalizer.Form