java中枚举类的使用

149 阅读1分钟

在Java中,枚举是一种特殊的数据类型,用于定义一组常量。枚举类型使用关键字"enum"来定义,可以包含多个枚举常量,并且可以定义方法和字段。合理的使用能更巧妙的优化程序代码,减少代码冗余。 以下是详细介绍Java中枚举的使用:

  1. 定义枚举类型: 枚举类型使用关键字"enum"来定义,例如:

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

    上述代码定义了一个枚举类型Weekday,包含了一组星期几的枚举常量。

  2. 使用枚举常量: 枚举常量可以通过枚举类型名和常量名来访问,例如:

    Weekday day = Weekday.MONDAY;
    System.out.println(day); // 输出:MONDAY
    
  3. 枚举常量的比较: 枚举常量之间可以使用"=="来进行比较,例如:

    Weekday day1 = Weekday.MONDAY;
    Weekday day2 = Weekday.TUESDAY;
    System.out.println(day1 == day2); // 输出:false
    
  4. 枚举常量的遍历: 可以使用foreach循环来遍历枚举类型的所有常量,例如:

    for (Weekday day : Weekday.values()) {
        System.out.println(day);
    }
    

    上述代码会依次输出所有的枚举常量。

  5. 枚举常量的方法和字段: 枚举常量可以定义自己的方法和字段,例如:

    enum Gender {
        MALE("男"), FEMALE("女");
        
        private String name;
        
        private Gender(String name) {
            this.name = name;
        }
        
        public String getName() {
            return name;
        }
    }
    

    上述代码定义了一个枚举类型Gender,包含了两个枚举常量MALE和FEMALE,以及一个字段name和一个方法getName()。

  6. 枚举的switch语句: 枚举常量可以作为switch语句的替代,例如:

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

    上述代码根据枚举常量的取值来执行相应的代码块。