Java 中的枚举(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 的值。