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

开发做久了,难免会遇到有一个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一下,提醒各位童鞋啦。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值