您的位置:首页 > 其它

如何在switch中使用enum,你真的知道吗?

2017-06-19 16:58 441 查看
开发做久了,难免会遇到有一个switch的case判断中有多个常量的时候,这时我们就想到了一个类型枚举,首先我们来看下枚举如何定义:

public enum ColorType{
GREEN,
RED,
ORANGE,
WHITE,
BLACK
}


如上述代码,很easy我们就创建好了。

接下开始考察你的眼力了哦,请看下面一段代码:

private void TestEnum(ColorType type){
switch (type){
case ColorType.GREEN:
break;
case ColorType.RED:
break;
case ColorType.ORANGE:
break;
case ColorType.WHITE:
break;
case ColorType.BLACK:
break;
default:

}
}


上述代码对吗?一眼看去挺对的呀,很遗憾 ,你被骗了,会报一个错误:

an enum switch case label must be the unqualified name of an enumeration constant

意思是: 枚举 switchcase 标签必须为枚举常量的非限定名称

什么意思呢?

意思就是case语句中只能写枚举类定义的变量名称,不能加类名。正常代码如下:

private void TestEnum(ColorType type){
switch (type){
case GREEN:
break;
case RED:
break;
case ORANGE:
break;
case WHITE:
break;
case BLACK:
break;
default:

}
}


说到这里怎么样,长见识了吧,嘿嘿,好记性不如烂笔头,mark一下,提醒各位童鞋啦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  enum switch