每日一坑:Constant expression required:Java的switch选择枚举问题
在使用Switch的时候,switch的对象是一个普通类型,但是case的对象是一个枚举对象调用的方法函数的时候,如下所示:
报错:Constant expression required
解决方法:使用枚举对象作为switch对象,case 枚举对象:
在枚举类中定义方法:
/**
* 提前判断,用于解决
* Case中出现的Constant expression required
* @param value 数值
* @return 返回一个常数
*/
public static DataSourceEnum getValue(int value){
for(DataSourceEnum x:values()){
if(x.getDataSourceCode()==value){
return x;
}
}
return null;
}
然后测试中这么测试:
不就行了吗,坑货