常见的Java枚举用法:
- 表示有限的常量集合:枚举可以用于表示一组固定的、有限的常量集合,例如星期几、月份等。
public enum DayOfWeek {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
// 使用枚举常量
DayOfWeek day = DayOfWeek.MONDAY;
- 替代常量:枚举可以作为替代传统的常量定义,提供更明确的含义和类型安全。
public enum Gender {
MALE, FEMALE
}
// 使用枚举常量
Gender gender = Gender.MALE;
- 实现单例模式:枚举可以用于实现线程安全的单例模式,因为枚举常量在Java中是唯一的。
public enum Singleton {
INSTANCE;
// 添加其他方法和属性
public void doSomething() {
// ...
}
}
// 获取单例实例
Singleton instance = Singleton.INSTANCE;
instance.doSomething();
- 定义方法和属性:枚举可以包含方法和属性,可以给每个枚举常量添加自己特定的行为。
public enum Operation {
ADD {
public int calculate(int a, int b) {
return a + b;
}
},
SUBTRACT {
public int calculate(int a, int b) {
return a - b;
}
},
MULTIPLY {
public int calculate(int a, int b) {
return a * b;
}
},
DIVIDE {
public int calculate(int a, int b) {
return a / b;
}
};
// 抽象方法,每个枚举常量需要实现
public abstract int calculate(int a, int b);
}
// 使用枚举常量中的方法
int result = Operation.ADD.calculate(5, 3);
```、