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;
            }
复制代码

 

本文作者:好Wu赖

本文链接:https://www.cnblogs.com/erlongxizhu-03/p/13582411.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   好Wu赖  阅读(2971)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起