Java 访问枚举中定义的所有常量

Java 访问枚举中定义的所有常量

在JDK版本5之后,Java引入了枚举。它是使用关键字‘enum’定义的一组常量。Java中的final变量与枚举类似。

在本文中,我们将编写一个Java程序,定义一个枚举类,并尝试使用valueOf()和values()方法访问枚举中定义的所有常量。

枚举

当我们需要定义一个固定的常量集时,我们使用枚举类。例如,如果我们想使用一周的天数、行星名称、五个元音的名称等。请注意,所有常量的名称都以大写字母声明。

虽然枚举是Java中的类类型,但我们不能对其进行实例化。枚举中定义的每个常量都是其枚举类型的实例。它提供了类的其他功能,如我们可以创建它的实例变量、方法和构造函数。

语法

Enum enumeration_name {
   // constants values
}

示例

enum Planet {
   EARTH, MARS, JUPYTER, NEPTUNE, SATURN, URANUS, VENUS;
}

上面的示例说明了我们如何创建一个枚举类。枚举的名称是Planet,常量是EARTH和MARS。默认情况下,它们被声明为public和static。这些常量是自身类型的,因为它们的类型是由它们所在的枚举定义的。在这种情况下,它们是Planet类型。

访问枚举中定义的所有常量的程序

valueOf()和values()是两个预定义的方法,它们可以帮助我们获取枚举类中定义的常量的值。

valueOf() - 它返回传递参数的常量的值。

values() - 它返回一个包含枚举类中所有常量的数组。

示例1

以下示例演示了如何使用valueOf()方法获取常量。

enum Vibgyor { 
   // creating enumeration
   VIOLET, INDIGO, BLUE, GREEN, YELLOW, ORANGE, RED; 
   // constants
}
public class Main {
   public static void main(String[] args) {
      System.out.println("The color present in VIBGYOR: ");
      Vibgyor color = Vibgyor.ORANGE; 
      System.out.println(color + " is present at index: " + color.ordinal());
      Vibgyor colr = Vibgyor.valueOf("INDIGO"); 
      System.out.println(colr);
      System.out.print(Vibgyor.valueOf("RED"));
   }
}

输出

The color present in VIBGYOR: 
ORANGE is present at index: 5
INDIGO
RED

在上面的程序中,我们创建了一个名为’Vibgyor’的枚举,其中包含一些常量。变量’color’和’colr’是Vibgyor类型的枚举变量。使用这些变量,我们获取了常量。使用valueOf()方法我们可以一次获取一个项。这里使用ordinal()方法来访问ORANGE的索引值。索引从0开始计数。我们也可以在不创建任何变量的情况下访问常量。

示例2

下面的示例演示了如何通过使用values()方法来获取常量-

enum Vibgyor {
   VIOLET, INDIGO, BLUE, GREEN, YELLOW, ORANGE, RED;
}
public class Main {
   public static void main(String[] args) {
      System.out.println("The color present in VIBGYOR: ");
      // for each loop to iterate through all constants
      for(Vibgyor color : Vibgyor.values()) {
         System.out.println(color);
      }
   }
}

输出

The color present in VIBGYOR: 
VIOLET
INDIGO
BLUE
GREEN
YELLOW
ORANGE
RED

在上面的程序中,我们使用一个 for each 循环访问了所有常量。 values() 方法可以一次访问多个值。

结论

在本文中,我们讨论了枚举及其方法。 我们创建了Java程序来了解如何使用 values() 和 valueOf() 方法访问枚举中定义的所有常量。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程