java switch和枚举


java switch和枚举

switch case用法:

先来一道面试题:

    public static void test(){
        int i = 11;
        switch (i){
        case 5:case 11:case 12:
            System.out.println("是个5");
            
        case 10:
            System.out.println("是个10");
            break;
        case 4:
            System.out.println("是个4");
            break;
        default:
            System.out.println("默认值");
            break;
        }
    }

结果是:

是个5
是个10

结论:最终执行的方法体是什么呢?匹配上的case的冒号开始,一直到break为止,之间的case条件忽略,语句会执行。

参考链接:https://blog.csdn.net/weixin_39800144/article/details/80943257

枚举:

public enum RechargeActiveType {
     /**0*/
    Default,

    PerFirstRech,

    ContinueRech,

    TotalRchg,

    GiftBag,
    
}

下面的使用方式会报错:因为case后跟的是常量表达式

知道枚举的值,可先获取枚举值对应的枚举,再使用switch,

根据枚举的值获取对应的枚举:

RechargeActiveType rechargeActiveType = RechargeActiveType.values()[menuValue];

使用switch(枚举) case 枚举常量:

switch (rechargeActiveType) {
            case PerFirstRech:
             
                break;
            case ContinueRech:
 
                break;
            case TotalRchg:

                break;
            case GiftBag:


                break;

            default:
                break;
            }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM