每日一坑:Constant expression required:Java的switch选择枚举问题

在这里插入图片描述

每日一坑: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;
    }

然后测试中这么测试:
在这里插入图片描述
不就行了吗,坑货

猜你喜欢

转载自blog.csdn.net/qq_44918802/article/details/126629202