Java枚举详解(8种常见枚举用法)

Java枚举详解(8种常见枚举用法)-mikechen

Java枚举是一种特殊的数据类型,用于表示一组具名的常量,下面详解常见的8种Java枚举方式@mikechen

1. 基本枚举类型

在Java中,使用 enum 关键字定义一个枚举类型。

  1. public enum Day {
  2. SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
  3. }

 

2. 带有值的枚举

每个枚举常量都有一个关联的值,通过构造方法初始化。

如下所示:

  1. public enum Day {
  2. SUNDAY("Sun"), MONDAY("Mon"), TUESDAY("Tue"), WEDNESDAY("Wed"),
  3. THURSDAY("Thu"), FRIDAY("Fri"), SATURDAY("Sat");
  4.  
  5. private final String abbreviation;
  6.  
  7. private Day(String abbreviation) {
  8. this.abbreviation = abbreviation;
  9. }
  10.  
  11. public String getAbbreviation() {
  12. return abbreviation;
  13. }
  14. }

 

3.Switch语句使用枚举

枚举类型在 switch 语句中非常有用,如下所示:

  1. Day today = Day.MONDAY;
  2.  
  3. switch (today) {
  4. case MONDAY:
  5. System.out.println("It's Monday!");
  6. break;
  7. case TUESDAY:
  8. System.out.println("It's Tuesday!");
  9. break;
  10. // 其他case...
  11. default:
  12. System.out.println("It's some other day.");
  13. break;
  14. }

 

4.实现接口的枚举

枚举类型可以实现接口,为每个枚举常量提供不同的实现。

如下所示:

  1. public enum Operation implements MathOperation {
  2. ADD {
  3. @Override
  4. public int apply(int x, int y) {
  5. return x + y;
  6. }
  7. },
  8. SUBTRACT {
  9. @Override
  10. public int apply(int x, int y) {
  11. return x - y;
  12. }
  13. },
  14. // 其他枚举常量...
  15. }

 

5.枚举的遍历

通过 values() 方法,可以遍历枚举的所有常量。

如下所示:

  1. for (Day day : Day.values()) {
  2. System.out.println(day);
  3. }

 

6.特点方法枚举

枚举类型可以包含常量特定的方法,这些方法在每个枚举常量上提供不同的实现。

如下所示:

  1. public enum Operation {
  2. ADD {
  3. @Override
  4. public int apply(int x, int y) {
  5. return x + y;
  6. }
  7. },
  8. SUBTRACT {
  9. @Override
  10. public int apply(int x, int y) {
  11. return x - y;
  12. }
  13. },
  14. // 其他枚举常量...
  15. }

 

7.获取枚举常量的顺序

ordinal() 方法返回枚举常量在枚举中的位置,从0开始计数。

如下所示:

  1. int position = Day.MONDAY.ordinal(); // 返回 MONDAY 在枚举中的位置,从0开始计数

 

8.获取枚举常量的名称

name() 方法返回枚举常量的名称,如下所示:

  1. String dayName = Day.MONDAY.name(); // 返回枚举常量的名称,例如 "MONDAY"

以上是关于Java枚举的常见用法,包括定义、遍历、实现接口、包含其他属性和方法等,选择适当的方法取决于具体的应用场景。

评论交流
    说说你的看法
欢迎您,新朋友,感谢参与互动!