Java 枚举类型(Enum)是一种特殊的类,用于表示固定数量的常量值。枚举类型的主要用途如下:
- 表示一组固定的常量值:枚举类型可以用于表示一组相关的常量值,例如星期、月份、颜色等。这使得代码更具可读性和可维护性。
public enum Weekday {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
- 简化 switch 语句:当需要在 switch 语句中处理多个常量值时,使用枚举类型可以使代码更简洁。
Weekday day = Weekday.MONDAY;
switch (day) {
case SUNDAY:
System.out.println("Sunday");
break;
case MONDAY:
System.out.println("Monday");
break;
// ...
}
- 作为方法参数和返回值:枚举类型可以作为方法的参数和返回值,使得方法更具通用性和可读性。
public enum Size {
SMALL, MEDIUM, LARGE
}
public Size getBestSize(int width, int height) {
// ...
}
- 实现单例模式:枚举类型可以实现单例模式,确保一个类只有一个实例。
public enum Singleton {
INSTANCE;
private String message;
public void setMessage(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
}
- 用于状态机:枚举类型可以用于表示状态机的状态,使得状态转换更具可读性。
public enum State {
START, RUNNING, PAUSED, STOPPED
}
public class StateMachine {
private State state;
public void setState(State state) {
this.state = state;
}
// ...
}
总之,Java 枚举类型提供了一种简洁、可读性强的方式来表示和处理一组固定的常量值。