Java Enum – Java 枚舉示例講解
Java 中的枚舉(Enum)是一種特殊的數(shù)據(jù)類型,它包含一組預定義的常量。
在處理不需要更改的值時,通常會使用enum,比如一周中的天數(shù)、一年中的季節(jié)、顏色等等。
在本文中,我們將看到如何創(chuàng)建一個枚舉enum以及如何將其值賦給其他變量。我們還將看到如何在switch語句中使用 enum 或循環(huán)遍歷它的值。
如何在 Java 中創(chuàng)建枚舉
要創(chuàng)建enum,我們使用enum關鍵字,類似于使用 class 關鍵字創(chuàng)建類的方式。
以下是一個例子:
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
在上面的代碼中,我們創(chuàng)建了一個名為 Colors 的枚舉。您可能會注意到這個枚舉的值都是大寫的—這只是一個通用的約定。如果值是小寫的,您將不會收到錯誤。
枚舉中的每個值用逗號分隔。
接下來,我們將創(chuàng)建一個新變量,并將枚舉的一個值賦給它。
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類內(nèi)部創(chuàng)建枚舉,代碼仍然可以工作。那就是:
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 語句中使用枚舉
在本節(jié)中,我們將演示如何在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語句條件的情況。
如何循環(huán)遍歷枚舉的值
enum在 Java 中有一個values()方法,它返回枚舉值的數(shù)組。我們將使用 for-each 循環(huán)遍歷并打印枚舉的值。
我們可以這樣做:
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
*/
}
}
}
結(jié)論
在本文中,我們了解了 Java 中的 enum 是什么,如何創(chuàng)建它,以及如何將它的值賦給其他變量。
我們還學習了如何在 switch語句中使用 enum 類型,以及如何循環(huán)遍歷 enum 的值。