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