switch语句不能使用枚举的成员变量
出现问题:
写了个代码,需要使用枚举的来判断对于的事务处理
然而这里的编译器报错:constant expression required
switch 的case中,必须要用常量,想了一下,枚举里面的code是可以相同的
实在不想在 类里面 定义 public static final int code 这样的常量来代替枚举
解决方法:
在枚举类中添加一个根据code返回枚举的方法 参数类型为Integer,为其他类型时需自行调整方法代码
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