2009-09-08 97 views
2

我有一个简单的键值属性文件,我需要解析一个值,然后将其分配给一个枚举类型。做这个的最好方式是什么?从属性文件解析枚举

唯一出现在我脑海里的是类似遍历enums.toString的所有可能值并查看它是否等于它们中的任何一个。

回答

7

Enum.valueOf(或者更确切地说,它的包装器在每类enum类中合成)可以做到你想要的。

enum Color { RED, GREEN, BLUE } 

// somewhere in your code 
String colorName = "GREEN"; 
try { 
    Color color = Color.valueOf(colorName); 
} catch (IllegalArgumentException e){ 
    // colorName was not the name of a member of the enum 
} 
+0

啊,我是多么愚蠢。我在java Enum类中寻找valueOf,但不是我特有的。 – 2009-09-08 13:52:14