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

enum switch case label must be the unqualified name of an enumeration constant 或 错误: 枚举 switchcase 标签必须为枚举常量的非限定名称case ColorType.GREEN:

    在咱们Android开发中,有一个变量可能会被很多界面引用,所以我们就会在它前面增加static final public这样的修饰,但写多了,总感觉到比较散,后来我想到了enum类型,但在使用的过程,我遇到一个问题:enum和switch老是报错,如第一段的一个错的两种提示,以前很菜,不懂,当时就认为安卓本身就不支持enum和switch一起使用,随着开发的经验越来越丰富,又回想起这事,感觉不对呀,于是去查了点资料,试了试,哈哈,原来是可以的,所以我把它记录下来,分享给大家!

首先声明一个enum类:

    

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

现在我写一下我之前错误的写法:

   

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:
 
       }
}

如下图,我使用红框标出来


正确写法应该是case后面的enum项不要带ColorType:

 

   

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

如下图:


我思考了下之前为什么老是以为case后面,enum项前面必须加一个enum类型,因为我的Enum类写在一个文件里,如果在另的文件引用它,我就觉得必须加一个范围或者限制词,如张三,大家就会觉得哪里的张三,我就会说中国XX省XX市XX县XX镇XX村XX组的张三,哎,却在switch和enum联用时,误导了咱!

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值