首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将字符串转换为等效的枚举值

将字符串转换为等效的枚举值
EN

Stack Overflow用户
提问于 2011-08-14 21:07:32
回答 4查看 146.9K关注 0票数 113

是否可以使用Java将String转换为Enumeration中的等效值。

当然,我可以用一个大的if-else语句来做这件事,但如果可能的话,我想避免这样做。

根据此文档,请执行以下操作:

http://download.oracle.com/javase/1.4.2/docs/api/java/util/Enumeration.html

我不太希望在没有if或case语句的情况下这是可能的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-08-14 21:10:54

希望您能意识到,java.util.Enumeration不同于Java1.5的Enum类型。

您可以简单地使用YourEnum.valueOf("String")来获取等效的枚举类型。

因此,如果您的枚举定义为:

代码语言:javascript
复制
public enum Day {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, 
    THURSDAY, FRIDAY, SATURDAY
}

你可以这样做:

代码语言:javascript
复制
String day = "SUNDAY";

Day dayEnum = Day.valueOf(day);
票数 244
EN

Stack Overflow用户

发布于 2011-08-14 21:10:29

假设您使用Java5枚举(因为您提到了旧的Enumeration类,所以不太确定),您可以使用java.lang.Enum子类的valueOf方法:

代码语言:javascript
复制
MyEnum e = MyEnum.valueOf("ONE_OF_CONSTANTS");
票数 19
EN

Stack Overflow用户

发布于 2011-08-14 21:10:59

使用为每个enum定义的静态方法valueOf(String)

例如,如果你有enum MyEnum,你可以说MyEnum.valueOf("foo")

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7056959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档