(Constant expression required报错解决)JAVA switch配合枚举enum的使用
遇到问题 : Constant expression required原因switch case中 CASE只能使用常量 , 所以使用枚举类的方法时报如上错误解决方式也很简单,只需要把switch里的对象改为枚举对象 , case使用枚举判断直接上代码枚举类代码@Getter@NoArgsConstructor@AllArgsConstructorpublic enum WelComeTypeEn
·
遇到问题 : Constant expression required
原因
switch case中 CASE只能使用常量 , 所以使用枚举类的方法时报如上错误
解决方式也很简单,只需要把switch里的对象改为枚举对象 , case使用枚举判断
直接上代码
- 枚举类代码
@Getter
@NoArgsConstructor
@AllArgsConstructor
public enum WelComeTypeEnum {
/**
* 欢迎语类型
*/
IMAGE(1, "image", "图片"),
LINK(2, "link", "链接"),
MINIAPP(3, "miniapp", "小程序"),
VIDEO(4, "video", "视频"),
private Integer type;
private String name;
private String Remark;
public static WelComeTypeEnum getByName(String name) {
for (WelComeTypeEnum ele : values()) {
if (ele.getName().equals(name)) {
return ele;
}
}
return null;
}
}
- JAVA switch代码
public class AloneTest{
public static void main(String[] args) {
// TODO 真实环境中这里是你的逻辑代码
String fileType = "image";
switch (Objects.requireNonNull(WelComeTypeEnum.getByName(fileType))){
case IMAGE:
System.out.println("there ara IMAGE");
break;
case LINK:
System.out.println("there ara LINK");
break;
case MINIAPP:
System.out.println("there ara MINIAPP");
break;
case VIDEO:
System.out.println("there ara VIDEO");
break;
default:
System.out.println("The enumeration does not exist");
break;
}
}
}
更多推荐

所有评论(0)