在Java中,枚举(Enum)是一种特殊的类,它包含了一组固定的常量。枚举类型在Java 5及以后的版本中引入,用于表示固定数量的常量集。下面是一个简单的枚举类的示例:
public enum DayOfWeek {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY; // 可以添加方法到枚举类 public static DayOfWeek getDayOfWeek(int dayNumber) { switch (dayNumber) { case 1: return SUNDAY; case 2: return MONDAY; // ... 省略其他case default: throw new IllegalArgumentException("Invalid day number: " + dayNumber); } } // 还可以添加实例方法 public String getAbbreviation() { switch (this) { case SUNDAY: return "Sun"; case MONDAY: return "Mon";case WEDNESDAY:return "Wed";// ... 省略其他case default: throw new AssertionError(); // 理论上不应该到达这里 } }
}
在上面的示例中,我们定义了一个名为DayOfWeek
的枚举类,它包含了表示一周中每一天的常量。我们还为枚举类添加了两个方法:一个静态方法getDayOfWeek
用于根据数字获取对应的枚举常量,一个实例方法getAbbreviation
用于获取每个枚举常量的缩写。
你可以这样使用枚举类:
public class Main {public static void main(String[] args) {DayOfWeek day = DayOfWeek.WEDNESDAY; System.out.println(day); // 输出:WEDNESDAY System.out.println(day.getAbbreviation()); // 输出:Wed try {DayOfWeek invalidDay = DayOfWeek.getDayOfWeek(8); } catch (IllegalArgumentException e) { System.out.println(e.getMessage()); // 输出:Invalid day number: 8 } }
}
注意,枚举类中的常量默认使用大写字母,并且它们之间使用逗号分隔。每个枚举常量
实质上都是该枚举类的一个实例
,你可以像使用其他对象一样使用它们。