Java枚举与Switch

简介: Java枚举与Switch
/**
 * @Author Tiam
 * @Date 2021/12/27 18:00
 * @Description: 枚举类的使用
 */
public enum Enum_ {
    //注意分割符,最后一个以分号结尾.
    MONDAY("星期一"),
    TUESDAY("星期二"),
    WEDNESDAY("星期三"),
    THURSDAY("星期四"),
    FRIDAY("星期五"),
    SATURDAY("星期六"),
    SUNDAY("星期日");
    /**
     * 星期
     */
    private String week;

    /**
     * 构造器
     * @param week
     */
    Enum_(String week) {
        this.week = week;
    }

    /**
     * get,set方法
     * @return
     */
    public String getWeek() {
        return week;
    }

    public void setWeek(String week) {
        this.week = week;
    }
}
/**
 * @Author Tiam
 * @Date 2021/12/27 20:17
 * @Description: 枚举与switch语句的配合使用
 */

public class Burrito {
    Enum_ em;

    Burrito() {
    }

    public Burrito(Enum_ em) {
        this.em = em;
    }

    /**
     * 枚举与switch语句的配合使用
     * @return
     */
    String describe() {
        switch (em) {
            case MONDAY:
                return Enum_.MONDAY.getWeek();
            case TUESDAY:
                return Enum_.TUESDAY.getWeek();
            case WEDNESDAY:
                return Enum_.WEDNESDAY.getWeek();
            case THURSDAY:
                return Enum_.THURSDAY.getWeek();
            case FRIDAY:
                return Enum_.FRIDAY.getWeek();
            case SATURDAY:
                return Enum_.SATURDAY.getWeek();
            case SUNDAY:
                return Enum_.SUNDAY.getWeek();
            default:
                throw new IllegalArgumentException("非法参数");
        }
    }

    public static void main(String[] args) {
        System.out.println(new Burrito().em);
        System.out.println(Enum_.FRIDAY);
        System.out.println(Enum_.FRIDAY.getWeek());
        Burrito
                b1 = new Burrito(Enum_.MONDAY),
                b2 = new Burrito(Enum_.SUNDAY),
                b3 = new Burrito(Enum_.THURSDAY);
        String d1 = b1.describe();
        String d2 = b2.describe();
        String d3 = b3.describe();
        System.out.println(d1);
        System.out.println(d2);
        System.out.println(d3);
        /* Output:
                null
                FRIDAY
                星期五
                星期一
                星期日
                星期四
         */
    }
}
相关文章
|
17天前
|
安全 Java 测试技术
🎉Java零基础:全面解析枚举的强大功能
【10月更文挑战第19天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
99 60
|
2天前
|
Java
java switch case多个条件
通过本文的介绍,我们详细探讨了Java中 `switch case`语句的多种用法和优化方法。从基本语法到合并多个条件,再到使用枚举、常量和函数优化,`switch case`语句在Java编程中提供了一种灵活且高效的控制流方式。掌握这些技巧,能够编写出更加简洁、可读性强的代码,提高开发效率和代码质量。希望本文能为您在实际开发中提供有价值的参考和指导。
12 2
|
28天前
|
Java 测试技术 编译器
🎯Java零基础-Switch条件语句详解 🎯
【10月更文挑战第8天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
25 6
|
2月前
|
安全 Java 索引
Java——反射&枚举
本文介绍了Java反射机制及其应用,包括获取Class对象、构造方法、成员变量和成员方法。反射允许在运行时动态操作类和对象,例如创建对象、调用方法和访问字段。文章详细解释了不同方法的使用方式及其注意事项,并展示了如何通过反射获取类的各种信息。此外,还介绍了枚举类型的特点和使用方法,包括枚举的构造方法及其在反射中的特殊处理。
62 9
Java——反射&枚举
|
1月前
|
Java 程序员 编译器
在Java编程中,if-else与switch语句犹如武林高手的剑与刀
【10月更文挑战第3天】在Java编程中,if-else与switch语句犹如武林高手的剑与刀。本文通过示例展示如何巧妙运用这两种工具,提升代码效率与可读性。从精简if-else结构到高效使用switch语句,再到性能考量,帮助你在不同场景下做出最佳选择,让你的程序更加流畅高效。掌握这些技巧,你将在Java世界中游刃有余!
19 2
|
2月前
|
Java
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
80 5
|
2月前
|
安全 Java 开发者
Java 枚举(enum)详解
Java 中的枚举(`enum`)是一种特殊的数据类型,用于定义一组固定的常量,提升代码的类型安全性和可读性。枚举使用 `enum` 关键字定义,支持方法和构造函数,具有类型安全、单例、自动序列化等特点,并且可以遍历和用于 `switch` 语句中。实际应用包括状态机、指令集、类型标识等场景。枚举使代码更加清晰易维护。
|
2月前
|
Java
java基础(1)逻辑控制if、switch
本文继续介绍了Java中的基础逻辑控制语句,包括if-else语句和switch语句。文章通过示例代码展示了if-else语句如何根据条件判断执行不同的代码块,以及switch语句如何根据变量的值执行不同的case分支。还提供了一个使用Scanner类从键盘获取输入,并根据输入的数字输出对应的星期日的示例。最后提到了如何在IDEA中格式化代码。
29 2
|
2月前
|
安全 Java
Java switch case隐藏用法
在 Java 中,`switch` 语句是一种多分支选择结构,常用于根据变量值执行不同代码块。除基本用法外,它还有多种进阶技巧,如使用字符串(Java 7 开始支持)、多个 `case` 共享代码块、不使用 `break` 实现 “fall-through”、使用枚举类型、使用表达式(Java 12 及以上)、组合条件以及使用标签等。这些技巧使代码更加简洁、清晰且高效。
|
3月前
|
Java C++ 开发者
if-else VS switch:谁才是Java条件判断的王者?
if-else VS switch:谁才是Java条件判断的王者?
42 3