将字符串转换为等效枚举值
我是否可以使用 Java 将 a 转换为 中的等效值。String
Enumeration
我当然可以用一个大的声明来做到这一点,但如果可能的话,我想避免这种情况。if-else
给定此文档:
http://download.oracle.com/javase/1.4.2/docs/api/java/util/Enumeration.html
我不太希望没有ifs或案例陈述,这是可能的。
我是否可以使用 Java 将 a 转换为 中的等效值。String
Enumeration
我当然可以用一个大的声明来做到这一点,但如果可能的话,我想避免这种情况。if-else
给定此文档:
http://download.oracle.com/javase/1.4.2/docs/api/java/util/Enumeration.html
我不太希望没有ifs或案例陈述,这是可能的。
希望你意识到,与Java 1.5 Enum类型不同。java.util.Enumeration
您可以简单地用于获取等效的枚举类型。YourEnum.valueOf("String")
因此,如果您的枚举是这样定义的:
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
你可以这样做:
String day = "SUNDAY";
Day dayEnum = Day.valueOf(day);
假设您使用Java 5枚举(由于您提到了旧类,因此不太确定),您可以使用子类的方法:Enumeration
valueOf
java.lang.Enum
MyEnum e = MyEnum.valueOf("ONE_OF_CONSTANTS");