Java Enum – Java 枚举示例讲解

  • Post author:
  • Post category:java


ava 中的枚举(Enum)是一种特殊的数据类型,它包含一组预定义的常量。

在处理不需要更改的值时,通常会使用enum,比如一周中的天数、一年中的季节、颜色等等。

在本文中,我们将看到如何创建一个枚举enum以及如何将其值赋给其他变量。我们还将看到如何在switch语句中使用 enum 或循环遍历它的值。

如何在 Java 中创建枚举

要创建enum,我们使用enum关键字,类似于使用 class 关键字创建类的方式。

以下是一个例子:

enum Colors {
  RED,
  BLUE,
  YELLOW,
  GREEN
}

在上面的代码中,我们创建了一个名为 Colors 的枚举。您可能会注意到这个枚举的值都是大写的—这只是一个通用的约定。如果值是小写的,您将不会收到错误。

枚举中的每个值用逗号分隔。

接下来,我们将创建一个新变量,并将枚举的一个值赋给它。

enum Colors {
  RED,
  BLUE,
  YELLOW,
  GREEN
}

public class Main { 
  public static void main(String[] args) { 
  
    Colors red = Colors.RED; 
    
    System.out.println(red); 
    // RED
  } 
}

这类似于初始化任何其他变量。在上面的代码中,我们初始化了一个 Colors 变量,并将枚举的一个值赋给它:Colors red = Colors.RED;。

请注意,我们可以在Main类内部创建枚举,代码仍然可以工作。那就是:

public class Main { 
  enum Colors {
  RED,
  BLUE,
  YELLOW,
  GREEN
}
  public static void main(String[] args) { 
  
    Colors red = Colors.RED; 
    
    System.out.println(red); 
  } 
}

如果我们想获得任何值的索引号,我们就必须使用ordinal()方法。下面是一个例子:

enum Colors {
  RED,
  BLUE,
  YELLOW,
  GREEN
}

public class Main { 
  public static void main(String[] args) { 
  
    Colors red = Colors.RED; 
    
    System.out.println(red.ordinal()); 
    // 0
  } 
}

上面代码中的 red.ordinal()  返回0。

如何在 switch 语句中使用枚举

在本节中,我们将演示如何在switch语句中使用 enum。

下面是一个例子:

public class Main { 
      enum Colors {
      RED,
      BLUE,
      YELLOW,
      GREEN
  }
  public static void main(String[] args) { 
    
    Colors myColor = Colors.YELLOW;

    switch(myColor) {
      case RED:
        System.out.println("The color is red");
        break;
      case BLUE:
         System.out.println("The color is blue");
        break;
      case YELLOW:
        System.out.println("The color is yellow");
        break;
      case GREEN:
        System.out.println("The color is green");
        break;
    }
  } 
}

这是一个在 switch 语句中使用 enum 的非常基本的例子。我们将在控制台中打印“The color is yellow”,因为这是唯一符合switch语句条件的情况。

如何循环遍历枚举的值

enum在 Java 中有一个values()方法,它返回枚举值的数组。我们将使用 for-each 循环遍历并打印枚举的值。

我们可以这样做:

enum Colors {
  RED,
  BLUE,
  YELLOW,
  GREEN
}

public class Main { 
  public static void main(String[] args) { 
      
      for (Colors allColors : Colors.values()) {
      System.out.println(allColors);
      
      /* 
      RED
      BLUE
      YELLOW
      GREEN
      */
    }
    
  } 
}

结论

在本文中,我们了解了 Java 中的 enum 是什么,如何创建它,以及如何将它的值赋给其他变量。

我们还学习了如何在 switch语句中使用 enum 类型,以及如何循环遍历 enum 的值。



版权声明:本文为as12345ss原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。