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 的值。