switch语句不能使用枚举的成员变量

出现问题:

写了个代码,需要使用枚举的来判断对于的事务处理

然而这里的编译器报错:constant expression required

switch 的case中,必须要用常量,想了一下,枚举里面的code是可以相同的

实在不想在 类里面 定义 public static final int code 这样的常量来代替枚举

解决方法:

在枚举类中添加一个根据code返回枚举的方法  参数类型为Integer,为其他类型时需自行调整方法代码

1
2
3
4
5
6
7
8
public static ChatEnum getByCode(Integer code){
        for(ChatEnum v:values()) {
            if(v.code==code) {
                return v;
            }
        }
        return null;
 }

 这样就不会报错了! 更多关于枚举的知识请阅读  https://www.cnblogs.com/wffzk/p/15294234.html

posted @   江南大才子  阅读(2052)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示