Switch Enum使用

news/2024/8/23 8:54:16

Switch Enum使用

以为在Switch中使用Enum应该这样用,可是却编译不通过

package cn.cjf.java.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

public class SwitchEnumTest {
   public static void main(String[] args) {
       int code = 1;
       final EColor color = EColor.getByCode(code);
       switch (color) {
           case EColor.RED:
               System.out.println("红色");
               break;
           case EColor.GREED:
               System.out.println("绿色");
               break;
           case EColor.BLUE:
               System.out.println("蓝色");
               break;
           default:
       }
   }

    @Getter
    @AllArgsConstructor
    public enum EColor {
        RED(1), GREED(2), BLUE(3);
        private int code;

        public static EColor getByCode(int code) {
            for (EColor color : EColor.values()) {
                if (color.code == code) {
                    return color;
                }
            }
            return null;
        }
    }
}

但去掉类名后,却可以

package cn.cjf.java.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @author chenjunfan
 * @date 2023-09-20
 */
public class SwitchEnumTest {
    public static void main(String[] args) {
        int code = 1;
        final EColor color = EColor.getByCode(code);
        switch (color) {
            case RED:
                System.out.println("红色");
                break;
            case GREED:
                System.out.println("绿色");
                break;
            case BLUE:
                System.out.println("蓝色");
                break;
            default:
        }
    }

    @Getter
    @AllArgsConstructor
    public enum EColor {
        RED(1), GREED(2), BLUE(3);
        private int code;

        public static EColor getByCode(int code) {
            for (EColor color : EColor.values()) {
                if (color.code == code) {
                    return color;
                }
            }
            return null;
        }
    }
}


http://lihuaxi.xjx100.cn/news/1595782.html

相关文章

TikTok体育精彩瞬间:全球体育迷的天堂

体育是连接世界的一种语言,它能够跨越文化和国界,将人们汇聚在一起,共同感受比赛的激情和荣誉。 而在现代社交媒体的时代,TikTok已经成为了全球体育迷的天堂,为他们提供了前所未有的方式来分享和体验体育精彩瞬间。 T…

试题:动态规划

爱吃鬼 小艺酱每天都在吃和睡中浑浑噩噩的度过。 可是小肚子是有空间上限v的。 小艺酱有n包零食,每包零食占据小肚子空间a_i并会给小艺酱一个甜蜜值b_i。 小艺酱想知道自己在小肚子空间上限允许范围内最大能获得的甜蜜值是多少? 使用c和动态规划解题&#xff1a…

一文全面解读CKA认证的含金量、详细介绍!

K8s是目前最流行的开源容器编排引擎,在全球都得到了广泛应用,BAT、京东、360、华为、网易、IBM、知乎等国内外诸多知名公司都在基于K8s构建企业容器云平台,支撑公司业务,越来越多的企业也都在向K8s迁移。相信在不远的将来&#xf…

10、Nacos服务订阅服务端源码分析

本文收录于专栏 Nacos 推荐阅读:Nacos 架构 & 原理 文章目录 前言一、RequestHandlerRegistry二、SubscribeServiceRequestHandler三、EphemeralClientOperationServiceImpl四、ClientServiceIndexesManager总结 前言 本篇开始学习Nacos中服务订阅相关的源码 …

揭开黑客的神秘面纱:黑客文化、技术手段与防御策略

目录 1. 引言1.1 黑客的定义与起源1.2 黑客文化的形成与传承 2. 黑客的分类与目标2.1 道德黑客与恶意黑客2.2 黑客攻击的目标与动机解析 3. 黑客的技术手段3.1 网络入侵与渗透测试3.2 社会工程学与钓鱼攻击3.3 恶意软件与病毒传播3.4 数据泄露与身份盗窃 4. 防御黑客攻击的策略…

大模型遇上数智化,腾讯云与行业专家共探行业AI发展之路

引言 自去年底 OpenAI 推出 ChatGPT 起,大模型作为新的生产工具登上了新一轮生产力革命的舞台。事实上,数十年来历经了多次起落的 AI 技术,尽管一直被赋予着极高的期待,但在落地产业端时,却总显得差强人意。大模型的爆…

组件的挂载和渲染

React的挂载和渲染 React的生命周期中包括三个主要的阶段:挂载、渲染以及卸载。 很多小伙伴包括我自己可能对挂载和渲染的概念比较模糊,今天这篇文章主要的目的是为了解答我们的这个小疑惑~ 这张图是从其他地方搬运过来的,这张图中描述的主…

ES6 class类关键字super

super关键字 在 JavaSCript 中,能通过 extends 关键字去继承父类 super 关键字在子类中有以下用法: 当成函数调用 super() 作为 "属性查询" super.prop 和 super[expr] super() super 作为函数调用时,代表父类的构造函数。 ES6 要求…