📅  最后修改于: 2023-12-03 15:26:54.348000             🧑  作者: Mango
在Java中,枚举是一种特殊的数据类型,它可以列举出一系列的常量,并为这些常量赋予一个有意义的名称。
以下是创建枚举类型的语法:
enum EnumName {
CONSTANT1, CONSTANT2, ..., CONSTANTN;
}
其中,EnumName
是枚举类型的名称,而CONSTANT1
, CONSTANT2
, ..., CONSTANTN
则是枚举成员,它们都必须是大写字母。
以下是一个简单的枚举类型的例子:
enum Color {
RED, GREEN, BLUE;
}
在这个例子中,Color
是枚举类型的名称,而RED
, GREEN
, BLUE
则是它的三个枚举成员。这个枚举类型表示了三种颜色:红色、绿色、蓝色。
枚举成员可以通过枚举类型来访问,例如:
Color red = Color.RED;
这样就可以得到RED
这个枚举成员。
当然,也可以通过枚举成员的名字来访问它:
Color red = Color.valueOf("RED");
这个方法返回的结果和上面的方法是一样的。
在Java中,可以使用==
和equals()
方法来比较枚举成员。
例如,下面这个代码比较了两个枚举成员:
Color red = Color.RED;
Color blue = Color.BLUE;
if (red == blue) {
System.out.println("red == blue");
} else {
System.out.println("red != blue");
}
if (red.equals(blue)) {
System.out.println("red equals blue");
} else {
System.out.println("red not equals blue");
}
上面这个代码输出的结果是:
red != blue
red not equals blue
因为RED
和BLUE
是不同的枚举成员,所以它们不相等。
注意,枚举成员的比较是基于它们在枚举类型中的顺序进行的,而不是它们的名称。
以下是一个完整的示例代码,十分详细地介绍了枚举成员的创建、访问和比较:
public class EnumExample {
enum Color {
RED, GREEN, BLUE;
}
public static void main(String[] args) {
// 创建枚举成员
Color red = Color.RED;
Color green = Color.GREEN;
Color blue = Color.BLUE;
// 访问枚举成员
System.out.println("red = " + red);
System.out.println("green = " + green);
System.out.println("blue = " + blue);
// 比较枚举成员
if (red == blue) {
System.out.println("red == blue");
} else {
System.out.println("red != blue");
}
if (red.equals(blue)) {
System.out.println("red equals blue");
} else {
System.out.println("red not equals blue");
}
if (red == Color.RED) {
System.out.println("red == Color.RED");
} else {
System.out.println("red != Color.RED");
}
if (green.equals(Color.GREEN)) {
System.out.println("green equals Color.GREEN");
} else {
System.out.println("green not equals Color.GREEN");
}
}
}
输出结果为:
red = RED
green = GREEN
blue = BLUE
red != blue
red not equals blue
red == Color.RED
green equals Color.GREEN
枚举是一种很有用的数据类型,它可以使代码更加清晰、易读,而且还可以避免使用魔法数。在使用枚举时,要注意不同的枚举成员是不相等的,比较时应该使用==
或equals()
方法。