java jdk8 switch case中无法使用枚举问题解决

这篇具有很好参考价值的文章主要介绍了java jdk8 switch case中无法使用枚举问题解决。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

之前常规写法:

@Getter
public enum InventoryTypeEnum {
    All(0,"全部"),
    ADD(1,"加料"),
    BLOW(2,"放料");
    private Integer id;
    private String name;

    InventoryTypeEnum(Integer id, String name) {
        this.id = id;
        this.name = name;
    }
}

代码会报错:

switch case里面不能放枚举,java,开发语言

此时在枚举中添加方法:

    public static InventoryTypeEnum toType(int id) {
        return Stream.of(InventoryTypeEnum.values())
                .filter(p -> p.id == id)
                .findAny()
                .orElse(null);
    }

代码中改为:

switch case里面不能放枚举,java,开发语言

idea自编译不报错, 经测试也可以用

枚举完整代码:

@Getter
public enum InventoryTypeEnum {
    All(0,"全部"),
    ADD(1,"加料"),
    BLOW(2,"放料");
    private Integer id;
    private String name;

    InventoryTypeEnum(Integer id, String name) {
        this.id = id;
        this.name = name;
    }

    public static InventoryTypeEnum toType(int id) {
        return Stream.of(InventoryTypeEnum.values())
                .filter(p -> p.id == id)
                .findAny()
                .orElse(null);
    }
}

参考: 「Java基础入门」Java中switch怎么使用枚举 - 掘金文章来源地址https://www.toymoban.com/news/detail-857904.html

到了这里,关于java jdk8 switch case中无法使用枚举问题解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决jenkins需要jdk11,项目需要jdk8的问题

    思路:jdk8 采用解压缩模式,jdk11采用安装模式,然后在jenkins中指定jdk路径 下载解压缩jdk8 https://www.oracle.com/java/technologies/downloads/#java8 解压缩:jdk-8u391-linux-i586.tar.gz /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录 yum install glibc.i686   安装jdk11 jenkins中指定  

    2024年02月02日
    浏览(34)
  • Java switch case 语句

    Java 的 switch case 语句是一种常用的控制流语句,用于基于不同的输入值执行不同的操作。本文将详细介绍 Java switch case 语句的作用、用法以及在实际工作中的应用。 一、switch case 语句的作用 switch case 语句是一种多分支条件语句,它基于不同的输入值,执行不同的操作。swit

    2024年02月11日
    浏览(29)
  • Java switch case语句详解

    if…else 语句可以用来描述一个“二岔路口”,我们只能选择其中一条路来继续走,然而生活中经常会碰到“多岔路口”的情况。switch 语句提供了 if 语句的一个变通形式,可以从多个语句块中选择其中的一个执行。 switch 语句是 Java 的多路分支语句。它提供了一种基于一个表

    2024年02月16日
    浏览(31)
  • 超级进化吧switch case in java

    因为长情是古董,所以假货特别多 觉得太长可以直接看总结就可以了 Switch case语句在Java中是一种流程控制结构,用于将一个值与一系列可能的情况进行比较,并根据匹配的情况执行相应的代码块。在不同的Java版本中,switch case标签的用法略有不同。 Java 6及以下 | 整数当道

    2023年04月08日
    浏览(35)
  • 揭秘Java switch语句中的case穿透现象

    导语:在 Java 开发中,我们经常使用 switch 语句来进行条件判断和分支选择。然而,有一个令人困惑的现象就是,当某个 case 语句没有加上 break 时,程序会继续执行下一个 case 语句,这被称为 case穿透现象 。本文将揭秘 case穿透现象 的原因,并解释为何会出现这种行为

    2024年02月06日
    浏览(35)
  • 针对无法创建JDK8版本的SpringBoot项目

    自从昨日起,JDK突然改版了,不能在使用JDK8来进行创建Spring Boot项目了,导致目前小编的JDK无从下手~~ 因此,在仔细琢磨了一晚之后,想起来了以下几个方法,与大家共勉。希望能够得到大家的认可! 1、打开网址 https://start.aliyun.com/ 2、创建项目: 3、下载/克隆之后,idea打开

    2024年02月04日
    浏览(47)
  • Android Studio 关于switch case中,R资源(局部R资源)找不到问题

    对比普通工程和Library工程的R文件发现,Library工程的R文件常量缺少final。 由于Library工程的可以包含资源文件,编译会生成R文件,多个Library中可能出现id冲突的问题。为了解决这个问题谷歌将Library工程R文件才从静态常量变为非常量。 然而switch语句的case中 必须是常量,而此

    2024年02月07日
    浏览(30)
  • Android中使用switch-case遇到case R.id.xxx报错

    一、问题描述           二、解决办法         在gradle.properties中加上下面四行代码:         然后点击Sync Now 三、问题解决         

    2024年04月11日
    浏览(27)
  • C++中使用 switch-case 进行条件处理

    switch-case 让您能够将特定表达式与一系列常量进行比较,并根据表达式的值时执行不同的操作。在这种结构中,经常会使用 C++新增的 switch、 case、 default 和 break。 switch-case 结构的语法如下: 上述代码计算 expression 的值,并将其与每个 case 标签进行比较。每个 case 标签

    2024年02月10日
    浏览(30)
  • 解决selenium升级到版本 4.16后出现的问题: org/openqa/selenium/WebDriver 编译环境是55.0(jdk11),而运行环境为52.0( jdk8 )

    最近升级了selenium到版本 4.16.1,  持续集成测试,执行mvn test时遇到问题如下 java.lang.UnsupportedClassVersionError: org/openqa/selenium/WebDriver has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 提示信息翻译:

    2024年02月03日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包