我在目标C以下枚举:爪哇枚举和Objective-C枚举
typedef enum {
APIErrorOne = 1,
APIErrorTwo,
APIErrorThree,
APIErrorFour
} APIErrorCode;
我使用索引来从一个XML参考枚举,例如,xml
可以具有error = 2
,其中映射到APIErrorTwo
我的流量是我从XML的整数,并运行如下的switch语句:
int errorCode = 3
switch(errorCode){
case APIErrorOne:
//
break;
[...]
}
似乎不喜欢Java的这种连接的嗯switch语句:
在Java中,似乎你不能分配索引enum
成员。我怎样才能获得与上述相同的Java?
谢谢!你的枚举与以前的答案无关!谢谢你这个作品。 – Daniel 2012-07-11 18:35:54
不得不说这是疯狂的这是多少的矫枉过正这是在Java中的枚举,我几乎会有更好的几个静态变量... – Daniel 2012-07-11 18:38:01
@Daniel,我很高兴你喜欢这个解决方案。但我会用JB Nizet解决方案。在switch中,你调用'case APIErrorOne.getCode():'。编译器确保你只切换一种类型,所以不可能做'int e = 1 switch {case 1:break; case APIErrorCode:braek; }'。 – 2012-07-11 18:42:28