是否可以使用Java将String
转换为Enumeration
中的等效值。
当然,我可以用一个大的if-else
语句来做这件事,但如果可能的话,我想避免这样做。
根据此文档,请执行以下操作:
http://download.oracle.com/javase/1.4.2/docs/api/java/util/Enumeration.html
我不太希望在没有if或case语句的情况下这是可能的。
发布于 2011-08-14 21:10:54
希望您能意识到,java.util.Enumeration
不同于Java1.5的Enum类型。
您可以简单地使用YourEnum.valueOf("String")
来获取等效的枚举类型。
因此,如果您的枚举定义为:
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
你可以这样做:
String day = "SUNDAY";
Day dayEnum = Day.valueOf(day);
发布于 2011-08-14 21:10:29
假设您使用Java5枚举(因为您提到了旧的Enumeration
类,所以不太确定),您可以使用java.lang.Enum
子类的valueOf
方法:
MyEnum e = MyEnum.valueOf("ONE_OF_CONSTANTS");
发布于 2011-08-14 21:10:59
使用为每个enum
定义的静态方法valueOf(String)
。
例如,如果你有enum MyEnum
,你可以说MyEnum.valueOf("foo")
https://stackoverflow.com/questions/7056959
复制相似问题