【发布时间】:2011-05-09 13:02:55
【问题描述】:
我有一个字符串(这是一条消息)作为输入,我需要根据字符串执行 4 种可能的事情之一 我知道有 eunm.valueOf() 选项,但我有 4 个不同的枚举,每个枚举都有很少的可能消息。
看起来像:
public enum first{ONE,TWO,THREE};
public enum second{FOUR,FIVE,SIX};
public enum third{SEVEN,EIGHT,NINE};
public void work(String message){
//Here I want to compare message string to one of the 3 enums
}
是否可以在枚举的一种方法中做到这一点? 还是我应该尝试创建一个,如果我遇到异常尝试另一个等等?
【问题讨论】:
-
你能描述一下你的消息应该如何与枚举进行比较吗?
-
你需要提供更多关于你的约束的信息——为什么你有四个不同的枚举?您的程序中的其他地方是否需要这样做?这里期望的行为是什么?您是否只是在正确的枚举上调用方法并使用多个枚举而不是覆盖该方法?你想在这个项目中完成什么?
-
@Jeremy Heiler 消息字符串将包含 ONE 到 NINE。 @Mark Tozzi 每个枚举都意味着应该将消息发送到代码的不同部分,我不能将它们全部组合到一个枚举中,因为它会阻止其他部分工作。打个比方,我可以得到字符串中的任意数字,我要看看他是属于ODD枚举还是EVEN枚举。
标签: java inheritance enums