enum和switch case结合使用

简介: 在将enum和switch case结合使用的过程中,遇到了这个错误:“An enum switch case label must be the unqualified name of an enumeration constant”。

enum和switch case结合使用

在将enum和switch case结合使用的过程中,遇到了这个错误:“An enum switch case label must be the unqualified name of an enumeration constant”,代码如下所示:

public enum EnumType {
    type1("type1"), type2("type2"), type3("type3");
    private String type;

    EnumType(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }
}

@OnClick(R.id.btn_test_enum_with_switchcase)
public void onViewEnumWithSwitchCaseClicked() {
    EnumType enumType = EnumType.type1;
    testEnum(enumType);
}

private void testEnum(EnumType type) {
    switch (type) {
        case EnumType.type1:
            Log.e("type1:", type.getType());
            break;
        case EnumType.type2:
            Log.e("type2:", type.getType());
            break;
        case EnumType.type3:
            Log.e("type3:", type.getType());
            break;
        default:
            break;
    }
}

错误提示如下所示:An enum switch case label must be the unqualified name of an enumeration constant
这里写图片描述

根据错误提示的意思,枚举类型和switch case一起使用时一定不要限定枚举常量值的常量,也就是它的类型。
对代码做下修改:

private void testEnum(EnumType type) {
    switch (type) {
        case type1:
            Log.e("type1:", type.getType());
            break;
        case type2:
            Log.e("type2:", type.getType());
            break;
        case type3:
            Log.e("type3:", type.getType());
            break;
        default:
            break;
    }
}

好了,修改完成。

相关文章
|
定位技术
百度地图开发:map.setViewport让标注显示在最佳视野内
百度地图开发:map.setViewport让标注显示在最佳视野内
822 0
|
12月前
|
人工智能 缓存 负载均衡
spring boot-MultipartFile 机制
本文详解了 Spring Boot 中 MultipartFile 的工作机制及大文件上传的解决方案。内容涵盖 MultipartFile 的解析流程、上传配置、Feign 上传大文件的内存问题及基于 RestTemplate 的流式上传实现。同时介绍了服务器端如何直接处理 application/octet-stream 类型的文件流,避免内存溢出问题。适合需要优化文件上传性能的开发者参考。
1320 0
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `<appender>` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `<logger>` 和 `<root>` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
3268 1
|
SQL JavaScript Java
Spring Boot 3 整合 Mybatis-Plus 实现数据权限控制
本文介绍了如何在Spring Boot 3中整合MyBatis-Plus实现数据权限控制,通过使用MyBatis-Plus提供的`DataPermissionInterceptor`插件,在不破坏原有代码结构的基础上实现了细粒度的数据访问控制。文中详细描述了自定义注解`DataScope`的使用方法、`DataPermissionHandler`的具体实现逻辑,以及根据用户的不同角色和部门动态添加SQL片段来限制查询结果。此外,还展示了基于Spring Boot 3和Vue 3构建的前后端分离快速开发框架的实际应用案例,包括项目的核心功能模块如用户管理、角色管理等,并提供Gitee上的开源仓库
3583 11
|
Java 编译器
成功解决:java file outside of source root
解决Java文件不在源代码根目录内的问题,可以通过在IDEA中将包含.java文件的目录设置为Sources Root来修复。
成功解决:java file outside of source root