Java 新建枚举

枚举(Enum)是一种特殊的数据类型,它可以为一组固定的值定义一个名称。在Java中,我们可以使用enum关键字创建枚举类型。枚举类型可以用于定义一组常量,这些常量在程序中具有相同的含义和用途。

枚举的语法

在Java中,创建枚举类型的语法如下所示:

enum EnumName {
    CONSTANT1,
    CONSTANT2,
    // ...
}

其中,EnumName是枚举类型的名称,CONSTANT1CONSTANT2等是枚举类型中的常量。注意,常量名称通常全部大写,每个常量之间使用逗号分隔。

创建一个简单的枚举

下面我们来创建一个简单的枚举类型来表示一周的几个工作日:

enum Weekday {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY
}

在上面的示例中,我们创建了一个Weekday枚举类型,其中包含了星期一到星期五的几个常量。

使用枚举类型

我们可以使用枚举类型的常量来定义变量,并对其进行赋值。例如:

Weekday day = Weekday.MONDAY;

上面的代码定义了一个day变量,并将其赋值为Weekday.MONDAY

我们也可以直接使用枚举类型的常量在switch语句中进行匹配。例如:

Weekday day = Weekday.MONDAY;

switch (day) {
    case MONDAY:
        System.out.println("今天是星期一。");
        break;
    case TUESDAY:
        System.out.println("今天是星期二。");
        break;
    // ...
}

枚举的方法

枚举类型还可以定义自己的方法。例如,我们可以为Weekday枚举类型添加一个isWeekend方法,用于判断当前的常量是否表示周末:

enum Weekday {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY;

    public boolean isWeekend() {
        return this == SATURDAY || this == SUNDAY;
    }
}

上面的代码中,我们为Weekday枚举类型添加了一个isWeekend方法,该方法返回当前常量是否为SATURDAYSUNDAY

我们可以在使用枚举类型的时候调用这个方法,例如:

Weekday day = Weekday.SATURDAY;
System.out.println(day.isWeekend()); // 输出:true

枚举的遍历

我们可以使用values方法遍历枚举类型的所有常量。例如,我们可以遍历Weekday枚举类型中的所有常量,并打印它们的名称:

enum Weekday {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY;
}

public class Main {
    public static void main(String[] args) {
        for (Weekday day : Weekday.values()) {
            System.out.println(day.name());
        }
    }
}

上面的代码将输出:

MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY

枚举的应用场景

枚举类型在Java中有很多应用场景,例如:

  • 表示一组固定的状态或选项。例如,表示订单状态的枚举类型可以包含CREATEDPROCESSINGSHIPPED等常量。
  • 表示一组固定的错误码或消息。例如,表示网络请求错误的枚举类型可以包含SUCCESSFAILURETIMEOUT等常量。
  • 表示一组固定的选项或配置。例如,表示用户界面显示选项的枚举类型可以包含GRIDLISTTILE等常量。

总结

本文介绍了使用Java创建枚举类型的方法,并给出了一些常见的应用场景。枚举类型可以为一组固定的值定义一个名称,方便程序的编写