在Java中,enum
(枚举)是一种特殊的数据类型,允许你定义一组命名的常量。这些常量通常代表一个固定的、有限的集合。例如,一年中的季节、交通信号灯的状态,或者一副扑克牌的花色。
基本用法
一个基本的enum
定义如下:
public enum Season {
WINTER, SPRING, SUMMER, FALL
}
这里,Season
是一个枚举类,它定义了四个枚举常量:WINTER
,SPRING
,SUMMER
,和 FALL
。
使用enum
你可以像使用类一样使用enum
类型。例如:
Season season = Season.SUMMER;
switch (season) {
case WINTER:
System.out.println("It's cold!");
break;
case SPRING:
System.out.println("Flowers are blooming!");
break;
case SUMMER:
System.out.println("It's hot!");
break;
case FALL:
System.out.println("Leaves are falling!");
break;
}
枚举中的方法
enum
也可以包含方法和属性。下面是一个更复杂的示例:
public enum TrafficLight {
RED(30), YELLOW(5), GREEN(60);
private int duration;
TrafficLight(int duration) {
this.duration = duration;
}
public int getDuration() {
return duration;
}
}
在这个例子中,每个枚举常量都有一个与之相关的持续时间。你可以使用方法来获取该值:
TrafficLight light = TrafficLight.RED;
System.out.println(light.getDuration()); // 输出: 30
枚举中的特殊方法
每个enum
都隐式继承了java.lang.Enum
类,因此可以使用一些特定的方法,比如:
values()
: 返回所有枚举常量的数组。valueOf(String name)
: 根据名称返回枚举常量。
示例:
for (Season s : Season.values()) {
System.out.println(s);
}
Season winter = Season.valueOf("WINTER");
System.out.println(winter); // 输出: WINTER
总结
enum
在Java中是一种强大的工具,用于定义常量集合,提供类型安全性和可读性。它不仅可以包含常量,还可以定义方法和属性,使其更灵活和功能强大。